How to set the message of the NotEmpty validator on a Zend_Form_Element?

前提是你 提交于 2019-12-10 09:26:41

问题


I have a form element that I'm setting as required:

$this->addElement('text', 'email', array(
    'label'      => 'Email address:',
    'required'   => true
));

Since I'm setting required to true, it makes sure that it's not empty. The default error message looks like this:

"Value is required and can't be empty"

I tried setting the message on the validator, but this throws a fatal error:

$validator = $this->getElement('email')->getValidator('NotEmpty');
$validator->setMessage('Please enter your email address.');

Call to a member function setMessage() on a non-object

How can I set the message to a custom error message?


回答1:


You need to overwrite / specify the NotEmpty-validator instead of using the default one:

$this->addElement('text', 'email', array(
    'label'      => 'Email address:',
    'required'   => true,
    'validators' => array (
       'NotEmpty' => array (
          'validator' => 'NotEmpty',
          'options' => array (
              'messages' => 'YOUR CUSTOM ERROR MESSAGE'
          )
       )
    )
));



回答2:


$neValidator = new Zend_Validate_NotEmpty();
$neValidator->setMessage('Please enter your email address.');

$textElement = new Zend_Form_Element_Text('email');
$textElement->addValidator($neValidator);


来源:https://stackoverflow.com/questions/1935509/how-to-set-the-message-of-the-notempty-validator-on-a-zend-form-element

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!