2013-04-08 5 views
1

Я только что начал zend framework 2. Я просто хочу знать, как настроить сообщение в форме для элементов, которым требуется ON (true). Прямо сейчас его показ «Пожалуйста, заполните это поле» (Если конкретное текстовое поле пуст, и я нажму кнопку «Отправить»).Как настроить валидационное сообщение в форме в zend framework 2?

Я просто хочу изменить это сообщение. Первоначально я думал, что это сообщение поступает из библиотеки

, но я был неправ. Это возможно?

+1

См. Здесь http://stackoverflow.com/a/12725061/1053820 –

+0

Возможный дубликат [zendframework 2 inputfilter настроить сообщение об ошибке по умолчанию] (http://stackoverflow.com/questions/12724653/zendframework-2-inputfilter -customize-default-error-message) – akond

ответ

-2

$ username = $ this-> createElement ('text', 'username');

$username->addErrorMessage('The username is required!'); 
+0

Валидационные сообщения относятся к Валидатору, а не к элементу формы. Хотя Form \ Element необходимо знать о сообщениях, он никогда не должен заниматься созданием/модификацией. – Sam

5

Просьба указать способ создания вашей формы. В конечном итоге вы должны просто перезаписать сообщения Validators. Каждый валидатор имеет возможность перезаписывать сообщения. Базовый синтаксис выглядит следующим образом:

// This assumes to be INSIDE a Validator 
'options' => array(
    'messages' => array(
     \Zend\Validator\NotEmpty::IS_EMPTY => "Dude, it's empty. It shouldn't be!" 
    ) 
) 

Пример перезаписывает валидатор сообщение NotEmpty, если входной сигнал не будет дан. Кроме того, вы должны знать, что если вы используете атрибут HTML5 required, то некоторые браузеры добавят предварительную отправку-подтверждение в вашу форму и сообщение об ошибке, отображаемое браузером, не может быть изменено.

+0

Привет Sam.Я использую форму подход (zend формы), чтобы создать элемент html. Да, я использовал атрибут require. Тем не менее я не переписываю сообщение ..... –

+0

Как я уже сказал, обязательно установите опцию на валидатор. Пожалуйста, предоставьте код для того, как вы присоедините валидатор, и я заставлю его работать;) В качестве альтернативы см. Дубликаты ссылок, предоставленные другими комментаторами;) – Sam

+0

Спасибо Сэм. Вот как код --- $ this-> add (array ( 'name' => 'UserName', 'attributes' => array ( 'type' => 'text', 'value' => '', // 'требуется' => правда, 'сообщение' => 'Invalid', ), 'опции' => массив ( 'метка' => 'Имя пользователя', 'сообщения' => массив ( \ Zend \ Validator \ NotEmpty :: IS_EMPTY => «Чувак, он пуст. Этого не должно быть!», ) ) )); –