我有一个用于捕获电子邮件地址的表单元素。我Zend_Validate_EmailAddress
在元素上使用它,它会生成对用户不太友好的错误消息。
我的第一步是指定对用户更友好的新消息,但有些检查根本不适合用户友好的消息。然后,我尝试isValid()
在表单上运行后简单地清除这些消息并指定我自己的,但我发现的所有功能都不会清除这些消息。
我尝试过的和结果
setErrorMessages()
- 这里设置的值似乎完全被忽略了clearErrorMessages()
- 似乎被忽略了setErrors()
- 添加我的信息,但保留其他信息
这是在我的自定义视图脚本中显示错误的代码:
<?php if ($this->element->hasErrors()): ?>
<?php echo $this->formErrors($this->element->getMessages()); ?>
<?php endif; ?>
我的解决方案
我将答案授予Gordon,因为他的解决方案是最完整的,但我最终addErrorMessage()
在元素上使用了这样的函数:
$element->addValidator('EmailAddress', false, $this->_validate['EmailAddress'])
->addErrorMessage("'%value%' is not a valid email address");
$element->addValidator('Date', false, array('MM/dd/yyyy'))
->addErrorMessage("Date must be in MM/DD/YYYY format");