我想知道如何處理與Laravel 5.數據驗證我看到,這可以使用或驗證,或請求文件來完成。問題是有很多我沒有得到的觀點。
- 使用請求文件進行驗證或驗證程序類有什麼區別?
- 如果我有驗證條件,並且我想只在提交相關字段的情況下使用它們,我該怎麼做?如果我使用「必需的」關鍵字,它將不起作用,因爲當該字段未被提交時它將失敗。如果我不使用它,它會接受空串...
謝謝!
我想知道如何處理與Laravel 5.數據驗證我看到,這可以使用或驗證,或請求文件來完成。問題是有很多我沒有得到的觀點。
謝謝!
1.理論上有控制器驗證和驗證使用FormRequest之間沒有差別。通常你應該使用FormRequest。這將保持你的控制器清潔和最小。但是有一段時間,在控制器中使用Validator是明智的,例如,你知道只會有一個字段需要驗證,那麼使用FormRequest就太過分了。所以這是一個優先考慮的問題。
2.如果該字段不是必需的,則不必使用'required'。如果該字段已提交,則該字段的其他驗證仍將運行。如果沒有提交,將不會發生。
.......
'money' => 'numeric',
.......
上述規則將確保貨幣字段只有在提交時纔是數字。如果沒有提交,則不會引發驗證錯誤。
我希望這會有所幫助。
非常感謝!我也會試試這個:) –
謝謝,我會試試這個,並保持喲uupdated!如果一切順利,我會驗證答案。 –
您是否使用L5或L5.1,您應該再次閱讀文檔,有很多示例http://laravel.com/docs/5.1/validation基本上主要的區別在於驗證請求類通常比在控制器中。您可以創建「存儲請求」或「更新請求」,並針對存儲操作和更新操作制定不同的規則(當然,控制器本身是可行的,因爲您有兩種方法,我的意思是更新方法,您將更新規則放在哪裏)。 )請閱讀更多文檔或在laracast上搜索有關此事的信息。 – Kyslik
感謝您的幫助!我會在這個問題上檢查更多的事情,但有時候很難完全理解,或者甚至理解事情說明你想要他們,當你開始一個新的框架:) –
我個人認爲所有的東西都在請求它的「點擊「之前,控制器本身,所以當驗證通過時,我是100%肯定輸入驗證只有一行(在控制器方法注入請求)。正如下面的答案所述,它的代碼很乾淨。起初我很喜歡「這麼多文件......」起初我並不喜歡這個想法,但是現在當我有足夠的資源時,它清楚了每個文件的功能。 – Kyslik