Z_Form ::在Action Controller内部向zend_form添加自定义错误消息

时间:2010-06-19 07:43:11

标签: zend-form message

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

2 个答案:

答案 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.');