我可以使用以下方法覆盖zend表单元素的所有错误消息。
$name->setRequired( TRUE )
->setAttrib( 'id', 'fullname' )
->addErrorMessage( 'Please provide your name' );
但是,当我使用工厂模式创建表单元素时,我无法复制这一点 'errorMessage'键不起作用。
$this->addElement('text', 'city', array(
'placeholder' => 'City*',
'required' => true,
'filters' => array('StringTrim', 'StripTags'),
'errorMessage' => 'TEST',
'validators' => array(
array('StringLength', false,
array(3, 50,
/*'messages' => array(
Zend_Validate_StringLength::TOO_SHORT => 'too short'
)*/
)
)
),
'decorators' => array('ViewHelper','Errors'),
));
我可以单独覆盖每个Zend错误消息(请参阅注释掉的代码),但这是一个非常繁琐的过程。
使用工厂模式创建ZF表单元素时,有没有办法覆盖所有错误消息?
答案 0 :(得分:0)
我还没有尝试过,但我认为你可以做到:
'errorMessages' => array('TEST'),
请注意,errorMessages
是复数,并且您传入的是单元素数组而不是字符串。
答案 1 :(得分:0)
无法覆盖所有错误消息
答案 2 :(得分:0)
如果要更改错误消息,请在验证器定义时定义..
'validators' => array(
'NotEmpty',
true,
array( 'messages' => array( 'isEmpty' => "Please provide your name.") )
当此字段为空时,错误消息将为“请提供您的姓名。”。