Как я могу переопределить все сообщения об ошибках для элемента формы?
Я могу использовать следующий метод, чтобы переопределить все сообщения об ошибках элемента формы Zend.
$name->setRequired( TRUE )
->setAttrib( 'id', 'fullname' )
->addErrorMessage( 'Please provide your name' );
Однако я не могу воспроизвести это при создании элемента формы с использованием фабричного шаблона.
Ключ errorMessage ничего не делает.
$this->addElement('text', 'city', array(
'placeholder' => 'City*',
'required' => true,
'filters' => array('StringTrim', 'StripTags'),
'errorMessage' => 'TEST',
'validators' => array(
array('StringLength', false,
array(3, 50,
/*'messages' => array(
Zend_Validate_StringLength::TOO_SHORT => 'too short'
)*/
)
)
),
'decorators' => array('ViewHelper','Errors'),
));
Я могу переопределить каждое сообщение об ошибке Zend по отдельности (см. Закомментированный код), но это очень утомительный процесс.
Есть ли способ переопределить все сообщения об ошибках при создании элемента формы ZF с использованием фабричного шаблона?
3 ответа
Я не пробовал это, но я думаю, что вы можете сделать:
'errorMessages' => array('TEST'),
Заметить, что errorMessages
во множественном числе, и вы передаете массив из одного элемента вместо строки.
Если вы хотите изменить сообщение об ошибке, то вы определяете, что во время валидаторов определяют как..
'validators' => array(
'NotEmpty',
true,
array( 'messages' => array( 'isEmpty' => "Please provide your name.") )
если это поле не заполнено, сообщение об ошибке будет "Пожалуйста, укажите ваше имя".