Intereting Posts
Почему, когда я отправляю XML на PHP, это узлы в нижнем регистре, но когда я разбираю их на PHP, они имеют верхний регистр? PHP post_max_size локальное значение, переопределенное основным значением в Plesk / IIS? Функция plugins_url () WordPress не работает на общем хостинге Как преобразовать PHP-приложение на основе страниц в MVC? Найти изображение или iframe с регулярными выражениями Дисконтный перевод купонов Magento Проблема выбора кометного сервера Могу ли я безопасно хранить имя пользователя и пароль в переменных сеанса PHP? Геотаргетинг по страницам с API Facebook Не удается подключиться к пользователю базы данных mongodb с помощью php PHP: вложенное меню с рекурсивной функцией, расширяющее только некоторые узлы (не все дерево) Флаг `-l` PHP не обнаруживает ошибки Как написать PHP-код для вывода JSON из сканирования каталога? По завершении обновления внешней базы данных Как обновить версию xpath в PHP?

ZF2 – необходимо отобразить конкретное сообщение об ошибке при отказе определенного состояния

Я использую проверку формы ZF2. Я должен проверить два поля USERNAME и PASSWORD. все работает нормально, но я получаю сообщение, как

Please enter username. Username can not be less than 3 characters. Please enter password. Password can not be less than 6 characters. 

Если пользователь не вводит какое-либо значение, тогда должно отображаться только это сообщение

 Please enter username. Please enter password. 

Я не хочу показывать все сообщения об ошибках в поле при ошибке.

Заранее спасибо.

Я получил ответ: чтобы сломать цепочку валидации в ZF2, мы должны использовать

'break_chain_on_failure' => true

 $this->add( array( 'name' => 'usernmae', 'required' => true, 'filters' => array( array('name' => 'Zend\Filter\StringTrim') ), 'validators' => array( array('name' => 'NotEmpty', 'options' => array('encoding' => 'UTF-8', 'messages' => array( NotEmpty::IS_EMPTY => 'Please enter username')), 'break_chain_on_failure' => true), array( 'name' => 'Zend\Validator\StringLength', 'options' => array( 'encoding' => 'UTF-8', 'min' => 3, 'max' => 30, 'messages' => array( StringLength::TOO_LONG => 'Username can not be more than 30 characters long', StringLength::TOO_SHORT => 'Username can not be less than 3 characters.') ), 'break_chain_on_failure' => true ) ) ) ); 

Мой блог: http://programming-tips.in

Zend_Validate позволяет вам разрывать цепочку валидаторов, если сбой определенных валидаций. Второй параметр функции addValidator () $ breakChainOnFailure должен быть TRUE в этом случае.

 $validatorChain = new Zend_Validate(); $validatorChain->addValidator(new Zend_Validate_NotEmpty(), TRUE) ->addValidator(new Zend_Validate_StringLength(6, 12)); 

Вы также можете установить ключ «error_message», например:

 'email' => [ 'required' => true, 'error_message' => 'Incorrect email address ', 'filters' => [ [ 'name' => 'StripTags', ], [ 'name' => 'StringToLower', ] ], 'validators' => [ [ 'name' => 'EmailAddress', 'break_chain_on_failure' => true ] ] ],