2012-07-27 26 views
1

Simple Authentication in Lithium教程的登錄表單有沒有什麼方法使用Validator?我知道在模型中使用驗證更好,但登錄表單中沒有模型,所以,據我所知,我需要在SessionsController中使用驗證器,但我不知道如何去做(鋰和驗證登錄表單(沒有模型) - 如何?

我所試圖做的是在SessionsController:

​​

,我想到的是空的形式發出後,它將被錯誤的用戶創建的教程中呈現,但一樣沒有錯誤顯示,只需再次登錄表格,我可以驗證沒有型號的表格,以及如何在鋰電池上做這些表格嗎?

預先致謝。

+0

沒有用戶和/或會話模型?你想如何檢查密碼或電子郵件? – 2012-07-27 12:20:29

+0

我有用戶模型。我想要做的是在登錄表單中檢查輸入,如果電子郵件或密碼爲空 - 在表單的輸入框下顯示錯誤,就像在用戶創建教程中一樣。爲什麼我需要模型? – Drone 2012-07-27 12:53:43

+0

驗證規則綁定到模型實體(用戶)。控制器角色僅用於獲取傳入數據(來自POST表單),調用包含業務規則的模型,並呈現響應(視圖,文件或純文本或其他任何內容)。在你的情況下,更容易檢查$ this-> request-> data ['password']是否爲空。如果你需要幫助和例子,請通過IRC#li3打開。 – 2012-07-27 13:41:44

回答

4

表單中呈現的錯誤綁定到實體,當您使用$this->form->create($user)創建實體時,該實體將綁定到該實體。僅在這種情況下,由於自動使用表單助手,會顯示錯誤。

如果您需要的是檢查,控制器,輸入數據,您可以檢查$this->request->data['password']以及爲什麼你不回,你需要自己在表單視圖處理(與if (!empty($errors))例如)錯誤

+0

是的!我只是明白了。謝謝你給我展示的方式!我已經通過向實體發送錯誤()向登錄失敗後的表單助手完成了工作,現在它就像一個魅力一樣。確實,所有文檔都放在了Lithium的源代碼中。再次感謝你!對不起,我不能投票 - 沒有足夠的代表。 – Drone 2012-07-27 14:02:24