我正在爲我的表單編寫幾個(自定義)驗證程序,並且一切都如往常一樣順利,但對於一個小問題。Yii的CActiveForm錯誤消息不會消失
我有兩個字段:一個是html選擇輸入(又名dropDownList
),另一個是簡單的textField
。
我設置我的AJAX驗證,這樣,當選擇X我dropDownList
被選中,在textField
文字不能爲空。
因此,當用戶選擇的選項在dropDownList
X,錯誤消息(對於dropDownList
,請注意)出現:文本字段Y不能爲空。
目前爲止還不錯。當我然後點擊textField
時,鍵入一些東西,然後單擊屏幕上的其他地方,確信ajax驗證程序被關閉,並且HTTP響應爲空,表示窗體上沒有錯誤。 但是錯誤信息並沒有消失!
我猜這與我在另一個字段上使用一個字段的驗證程序clearErrors()
有關,但是不應該這樣工作嗎?我已經給出了正確的字段作爲clearErrors()
方法的參數..
有沒有人有任何想法可能會出錯我?
在此先感謝
編輯這裏的鏈接到我的表型號:click
當我改變target_constant
或source_constant
,一個驗證器發射了服務器。它是工作,並由此我的意思是一個AJAX響應確實被服務器發送到我的驗證器被解僱。 此外,響應正文沒有錯誤消息,但target_reg
或source_reg
(取決於哪些受影響)的錯誤消息而不是在同一時刻消失。只有在下一個請求/響應中,錯誤消息纔會消失。
請發佈您的自定義驗證功能。 – rajmohan 2012-03-30 05:31:29
非常非常難以猜出沒有代碼是什麼錯誤,所以把你的代碼放好。 – 2012-03-30 05:48:39
我發佈了完整的表單模型 – 2012-03-31 04:49:24