如何在表单已经过验证后向Zend Form元素添加错误消息?
我正在尝试添加从Zend_Auth
获取的错误消息(现在我正在使用flashMessenger显示它们)。
我试过这样的事情:
$form->getElement('username')->addErrorMessage('my message');
答案 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()
方法