2010-03-23 50 views
13

如何在表单验证完成后向Zend Form元素添加错误消息?Zend Form:表单验证后添加错误消息

我想添加错误消息我从Zend_Auth(现在我使用flashMessenger显示它们)获得。

我想是这样的:

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

你得到任何错误? – thetaiko 2010-03-23 13:40:49

+0

按预期显示其他错误。 – takeshin 2010-03-23 14:04:58

回答

12

从Zend表格文档 -

addErrorMessage($ message):添加一个 错误信息显示在表格 验证错误。您可以多次呼叫此 ,并且附加到堆栈的新消息是 。

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

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

+0

对不起,我的代码中存在拼写错误。 $ form-> getElement('username') - > addErrorMessage('my message');按预期工作。 – takeshin 2010-03-23 14:46:39

1

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

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