如果我有一个表单元素附加了多个验证器(本例中为3),当每个唯一验证器失败时,如何使用addErrorMessage
创建自定义错误消息。有没有办法为每个验证器添加自定义消息?
$element = new Zend_Form_Element_Text()...
$element->....
->addValidator(...)
->addValidator(...)
->addValidator(...)
->addErrorMessage()
答案 0 :(得分:11)
通常它是根据验证器错误消息完成的,而不是每个验证器......
$element->setErrorMessages(array(Zend_Validate_...::CONSTANT => 'New Message'));
但我经常更喜欢将所有元素的错误覆盖为单个
$element->setErrorMessages(array('Single Error'));
或者,如果我需要每个验证器,这可行...
$validator->setMessages('string error')
应该将所有验证程序的错误覆盖到单个邮件中。我无法在任何地方找到这个记录,但它对我有用。因此,它可能不适用于所有版本?
对我来说,错误消息处理有点乱,除非您想覆盖所有可能的错误消息,但希望其中一个解决方案适合您。
干杯
答案 1 :(得分:6)
将您的消息与验证器一起添加,如下所示。 例如:
->addValidator('StringLength', false, array(0,255,'messages'=>'Cannot be more than 255 chars'))
->addValidator('NotEmpty', true, array('messages'=>'Cannot be empty'))
答案 2 :(得分:2)
像这样添加你的信息
- > addValidator('Alpha',true,array('messages'=> array('notAlpha'=>“请仅在产品名称中输入字母字符。
”)) ); 强>
根据您的错误字符串
添加验证器消息答案 3 :(得分:0)
addErrorMessage('您的自定义消息');这也是打印自定义消息的最简单方法。
addErrorMessage在libraray / zend / Form / Elements.php
中定义希望它有所帮助!!