我是ZF的新手,我发现如何使用Zend_Form并利用它的功能,如验证和过滤输入值。我已经知道Zend_form的基本知识,比如构建一个表单并在其中添加元素。我的问题是我想向表单元素添加自定义错误消息,我想在实例化表单的动作控制器中定义该消息。我想在控制器中定义错误消息,因为我需要对数据库执行验证。例如,检查数据库中是否已存在用户名/电子邮件。我尝试使用谷歌搜索,这导致我使用zend_form的setErrorMessage方法但是当我尝试使用它时,错误消息根本没有显示...我还尝试了zend_form-> setError,并且在视图脚本中仍然没有显示错误。我在动作控制器中设置自定义错误的想法是正确的,还是应该以其他方式完成?
答案 0 :(得分:2)
您使用的是Zend_Validate_Db_RecordExists吗?
这样的事情应该有效:
$form->getElement('username')->getValidator("RecordExists")->setMessage('This username exists',
Zend_Validate_Db_RecordExists::ERROR_RECORD_FOUND
);
答案 1 :(得分:1)
这对我有用:
$form->getElement('username')->addError('This username exists.');