Zend Form:在表单验证后添加错误消息

时间:2010-03-23 13:13:51

标签: php validation zend-framework zend-form

如何在表单已经过验证后向Zend Form元素添加错误消息?

我正在尝试添加从Zend_Auth获取的错误消息(现在我正在使用flashMessenger显示它们)。

我试过这样的事情:

$form->getElement('username')->addErrorMessage('my message');

3 个答案:

答案 0 :(得分:12)

从zend表单文档 -

  

addErrorMessage($ message):添加一个   表单上显示的错误消息   验证错误。你可以这叫   不止一次,新的消息是   附加到堆栈。

     

addError($ message):添加消息给   自定义错误消息堆栈和   将表单标记为无效。

如果您的表单未标记为无效,则可能不会显示任何错误消息。使用addError($message)而非addErrorMessage($message)将确保该元素也标记为无效。

答案 1 :(得分:4)

if(!$your_zend_auth_result){
    $form->getElement('username')->addError('Your Message');
    $form->markAsError();
}

答案 2 :(得分:1)

您需要使用setErrors()方法来创建错误堆栈。 在这种情况下,当元素已经有一些错误时,你应该使用addErrors()方法。 要检查元素是否有错误,您可以使用hasErrors()方法