你好,我是laravel的新手。我正在使用5.0v。我已經學會了一些玩laravel,控制器,模型,路線和數據庫的歡迎頁面。所以,我所做的是,我使用laravel登錄頁來代替歡迎頁面。當我在電子郵件和密碼字段中沒有輸入任何內容時,我得到了validaton eror:電子郵件字段是必需的。密碼字段是必需的。之後,我嘗試使用密碼重置頁面和註冊頁面。我得到了正確的驗證錯誤。對於Register頁面,我從services> registrar.php文件的規則部分刪除了「required」。正如所料,我沒有得到'需要'驗證錯誤的註冊頁面。但是我仍然在登錄和密碼重置頁面出現「必需」錯誤。我從login.blade.php中刪除了電子郵件和密碼字段。但是,當我點擊登錄,它顯示'所需'錯誤的電子郵件和密碼字段雖然字段不在頁面上。然後,我用電子郵件和密碼類型以外的表單字段創建了一個新頁面。我用它代替了登錄頁面。但是,如果將字段留空並單擊提交,則會顯示電子郵件和密碼的「必需」錯誤,即「電子郵件字段是必需的」。和「密碼字段是必需的」。那麼,這個問題的原因是什麼?而且,就像我爲registrar.php編輯驗證錯誤規則一樣,有沒有辦法編輯登錄和密碼重置頁面? when other fields are there即使沒有表單域存在,Laravel也會顯示驗證錯誤?
1
A
回答
0
你好這是急切地探索框架一個很好的問題。答案是,在laravel 5.0中,登錄的驗證被框架深深地嵌入到控制器邏輯中,並且改變它並不那麼微不足道。使用新版本的框架,您可以更輕鬆地完成此任務。在laravel 5.0中,登錄驗證在文件veondor/laravel/framework/Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.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
相關問題
- 1. Laravel驗證沒有顯示錯誤
- 2. 即使出現錯誤,PHP表單驗證也會通過
- 3. 即使沒有表單驗證,網址也會打開
- 4. 即使用戶未驗證,Laravel也會給出404錯誤
- 5. 即使密碼錯誤,Laravel也會登錄身份驗證
- 6. 即使有驗證錯誤,表格也會提交
- 7. 錯誤? ASP.NET MVC 2中的客戶端驗證會導致即使沒有錯誤也會顯示ValidationSummary消息
- 8. Laravel驗證錯誤顯示
- 9. 即使目錄已存在,也會顯示錯誤
- 10. Laravel表單驗證錯誤
- 11. 表單驗證set_message在codeigniter中沒有顯示任何錯誤
- 12. 即使表單驗證失敗,表單也會被提交
- 13. 即使存在路由,也會出現404錯誤 - AWS,Laravel
- 14. Laravel表單助手在驗證錯誤後不顯示數據
- 15. 即時通訊使用jQuery驗證如何在單獨區域顯示錯誤
- 16. ActiveRecord驗證:即使驗證失敗,關聯也會保存
- 17. jquery不會顯示錯誤,也不會驗證
- 18. 即使答案有效,也會顯示錯誤消息
- 19. Codeigniter:表單驗證is_unique錯誤沒有顯示
- 20. PHP表單驗證錯誤沒有顯示
- 21. 模型驗證消息Rails 4表單錯誤沒有顯示
- 22. Dart聚合物表單字段沒有顯示驗證錯誤
- 23. 表單驗證錯誤消息沒有顯示
- 24. Codeigniter表單驗證沒有顯示錯誤
- 25. 使所有表單驗證錯誤顯示在symfony的頂部?
- 26. 驗證錯誤沒有顯示
- 27. Laravel 5.2未顯示錶單驗證錯誤
- 28. CodeIgniter:表單驗證和顯示錯誤
- 29. 笨表單驗證不顯示錯誤
- 30. codeigniter表單驗證不顯示錯誤
嗨,這是一個渴望探索框架的好問題。答案是,在laravel 5.0中,登錄的驗證被框架深深地嵌入到控制器邏輯中,並且改變它並不那麼微不足道。使用新版本的框架,您可以更輕鬆地完成此任務。在laravel 5.0中,登錄驗證在文件'veondor/laravel/framework/Illuminate/Foundation/Auth/AuthenticatesAndRegistersUsers.php'的方法'postLogin'中被硬編碼。 – Sandeesh
如果你真的需要改變這個,那麼你可以將這個整個方法複製到'app/Http/Controllers/Auth/AuthController.php'中。因此用這個覆蓋內置的方法。現在,您可以在'AuthController'的'postLogin'方法中進行所需的更改。希望這可以幫助。如果你仍然處於學習階段,那麼我建議你從版本5.3或5.4開始 – Sandeesh
非常感謝!我將postLogin,postEmail和postReset方法複製/粘貼到authcontroller.php和passwordcontroller.php,並根據需要獲取錯誤消息。現在,我認爲我不必擔心「必需的」驗證錯誤。而且,正如你所建議的,我打算使用laravel 5.4。但我懷疑它是否可以使用php 5.5.3!因爲起初,我已經安裝了laravel 5.4,但我認爲我有一些像插件或安全性將無法使用此PHP版本的消息。然後我沒有嘗試laravel 5.4安裝laravel 5.0。謝謝 ! –