2010-03-23 81 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(); 
}