How to set a NotEmpty validator message to Zend_Form_Element?

I have a form element that I set as necessary:

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

Since I set it to true, it ensures that it is not empty. The default error message looks like this:

"Value is required and can't be empty"

I tried to configure the message on the validator, but this generates a fatal error:

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

Call member function setMessage () on a non-object

How to set up a message for an error message?

+3
source share
2 answers

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

$this->addElement('text', 'email', array(
    'label'      => 'Email address:',
    'required'   => true,
    'validators' => array (
       'NotEmpty' => array (
          'validator' => 'NotEmpty',
          'options' => array (
              'messages' => 'YOUR CUSTOM ERROR MESSAGE'
          )
       )
    )
));
+6
source
$neValidator = new Zend_Validate_NotEmpty();
$neValidator->setMessage('Please enter your email address.');

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

Source: https://habr.com/ru/post/1726164/


All Articles