2017-05-18 64 views
1

你好,我是laravel的新手。我正在使用5.0v。我已經學會了一些玩laravel,控制器,模型,路線和數據庫的歡迎頁面。所以,我所做的是,我使用laravel登錄頁來代替歡迎頁面。當我在電子郵件和密碼字段中沒有輸入任何內容時,我得到了validaton eror:電子郵件字段是必需的。密碼字段是必需的。之後,我嘗試使用密碼重置頁面和註冊頁面。我得到了正確的驗證錯誤。對於Register頁面,我從services> registrar.php文件的規則部分刪除了「required」。正如所料,我沒有得到'需要'驗證錯誤的註冊頁面。但是我仍然在登錄和密碼重置頁面出現「必需」錯誤。我從login.blade.php中刪除了電子郵件和密碼字段。但是,當我點擊登錄,它顯示'所需'錯誤的電子郵件和密碼字段雖然字段不在頁面上。然後,我用電子郵件和密碼類型以外的表單字段創建了一個新頁面。我用它代替了登錄頁面。但是,如果將字段留空並單擊提交,則會顯示電子郵件和密碼的「必需」錯誤,即「電子郵件字段是必需的」。和「密碼字段是必需的」。那麼,這個問題的原因是什麼?而且,就像我爲registrar.php編輯驗證錯誤規則一樣,有沒有辦法編輯登錄和密碼重置頁面? when other fields are there即使沒有表單域存在,Laravel也會顯示驗證錯誤?

my own custom form

+0

嗨,這是一個渴望探索框架的好問題。答案是,在laravel 5.0中,登錄的驗證被框架深深地嵌入到控制器邏輯中,並且改變它並不那麼微不足道。使用新版本的框架,您可以更輕鬆地完成此任務。在laravel 5.0中,登錄驗證在文件'veondor/laravel/framework/Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.php'的方法'postLogin'中被硬編碼。 – Sandeesh

+0

如果你真的需要改變這個,那麼你可以將這個整個方法複製到'app/Http/Controllers/Auth/AuthController.php'中。因此用這個覆蓋內置的方法。現在,您可以在'AuthController'的'postLogin'方法中進行所需的更改。希望這可以幫助。如果你仍然處於學習階段,那麼我建議你從版本5.3或5.4開始 – Sandeesh

+0

非常感謝!我將postLogin,postEmail和postReset方法複製/粘貼到authcontroller.php和passwordcontroller.php,並根據需要獲取錯誤消息。現在,我認爲我不必擔心「必需的」驗證錯誤。而且,正如你所建議的,我打算使用laravel 5.4。但我懷疑它是否可以使用php 5.5.3!因爲起初,我已經安裝了laravel 5.4,但我認爲我有一些像插件或安全性將無法使用此PHP版本的消息。然後我沒有嘗試laravel 5.4安裝laravel 5.0。謝謝 ! –

回答

0

你好這是急切地探索框架一個很好的問題。答案是,在laravel 5.0中,登錄的驗證被框架深深地嵌入到控制器邏輯中,並且改變它並不那麼微不足道。使用新版本的框架,您可以更輕鬆地完成此任務。在laravel 5.0中,登錄驗證在文件veondor/laravel/framework/Illuminate/Foundation/Auth/Authent‌​icatesAndRegistersUs‌​ers.php中的postLogin方法中被硬編碼。如果你真的需要改變這個,那麼你可以複製粘貼這整個方法到app/Http/Controllers/Auth/AuthController.php。因此用這個覆蓋內置的方法。現在,您可以在'AuthController'的'postLogin'方法中進行所需的更改。希望這可以幫助。如果你仍然處於學習階段,那麼我建議你從版本5.3或5.4開始

Laravel PHP requirement 

Laravel 5.4 : PHP >= 5.6.4 
Laravel 5.3 : PHP >= 5.6.4 
Laravel 5.2 : PHP >= 5.5.9 
Laravel 5.1 : PHP >= 5.5.9 
Laravel 5.0 : PHP >= 5.4, PHP < 7 
相關問題