我有一个表单元素用于获取电子邮件地址。我在该元素上使用了
我的第一步是指定更加用户友好的新消息,但是其中一些检查根本不适合用户友好的消息。然后,我尝试在运行
我尝试过的方法及其结果如下:
Zend_Validate_EmailAddress
,但它生成的错误消息并不太用户友好。我的第一步是指定更加用户友好的新消息,但是其中一些检查根本不适合用户友好的消息。然后,我尝试在运行
isValid()
函数后简单地清除这些消息并指定自己的消息,但我找到的所有函数都无法清除这些消息。我尝试过的方法及其结果如下:
setErrorMessages()
- 此处设置的值似乎完全被忽略了clearErrorMessages()
- 似乎被忽略了setErrors()
- 添加了我的消息,但其他消息仍保持不变
<?php if ($this->element->hasErrors()): ?>
<?php echo $this->formErrors($this->element->getMessages()); ?>
<?php endif; ?>
我的解决方案
我将把答案授予戈登,因为他的解决方案最完整,但我最终使用了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");
library/
的结构中,该文件应该放在哪里? - Sonny