如何在Zend_Form_Element上设置NotEmpty验证器的消息?

And*_*rew 4 php zend-framework zend-form

我有一个表单元素,我按要求设置:

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

因为我设置为true,所以它确保它不是空的.默认错误消息如下所示:

"Value is required and can't be empty"
Run Code Online (Sandbox Code Playgroud)

我尝试在验证器上设置消息,但这会引发致命错误:

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

在非对象上调用成员函数setMessage()

如何将消息设置为自定义错误消息?

Pat*_*and 7

您需要覆盖/指定NotEmpty-validator而不是使用默认值:

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