В моем проекте есть форма, в которой пользователю необходимо загрузить файл или указать какую-либо другую информацию, например, при вводе текста.
Я знаю, что есть возможность присоединить валидатор Count.в элемент формы, и это работает так:
$upload->addValidator('Count', false, array('min' => 1, 'max' => 3));
Этот валидатор вызывается, независимо от того, есть загруженные файлы или нет.Но как только я заменяю валидатор пользовательской версией и не загружаю никаких файлов, валидатор не вызывается.
Глядя на метод isValid () Zend_File_Transfer_Adapter_Abstract, я вижу проблему:
[...]
foreach($check as $key => $content) {
if (array_key_exists('validators', $content) &&
in_array('Zend_Validate_File_Count', $content['validators'])) {
$validator = $this->_validators['Zend_Validate_File_Count'];
$count = $content;
[...]
Похоже, граф Валидатор получил здесь особую обработку.Но как я могу включить мой настроенный Validator, не переписывая Zend Files?
Поскольку мы не расширяем класс Zend_Form, к сожалению, я также не могу перезаписать метод isValid () соответствующей формы.Любые идеи остались?Спасибо за ваше время!