How to set the message of the NotEmpty validator on a Zend_Form_Element?
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开发者_JAVA技巧 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?
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'
)
)
)
));
$neValidator = new Zend_Validate_NotEmpty();
$neValidator->setMessage('Please enter your email address.');
$textElement = new Zend_Form_Element_Text('email');
$textElement->addValidator($neValidator);
精彩评论