我想知道如何处理与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