【发布时间】:2011-04-20 17:41:05
【问题描述】:
我有一个用于捕获电子邮件地址的表单元素。我在元素上使用Zend_Validate_EmailAddress,它会生成对用户不太友好的错误消息。
我的第一步是指定对用户更友好的新消息,但有些检查根本不适合用户友好的消息。然后,我尝试在表单上运行 isValid() 并指定我自己的信息后简单地清除这些消息,但我发现的任何函数都不会清除这些消息。
我的尝试和结果
-
setErrorMessages()- 这里设置的值似乎完全被忽略了 -
clearErrorMessages()- 似乎被忽略了 -
setErrors()- 添加我的消息,但保留其他消息
这是在我的自定义视图脚本中显示错误的代码:
<?php if ($this->element->hasErrors()): ?>
<?php echo $this->formErrors($this->element->getMessages()); ?>
<?php endif; ?>
我的解决方案
我将答案授予Gordon,因为他的解决方案是最完整的,但我最终在元素like this 上使用了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");
【问题讨论】:
标签: php zend-framework zend-form zend-validate