据记载在https://laravel.com/docs/5.4/validation#conditionally-adding-rules
验证时请出示
在某些情况下,你可能希望对现场运行验证检查只有在该领域存在输入数组英寸为了快速实现这一点,加上有时裁定您的规则列表:
$v = Validator::make($data, [
'email' => 'sometimes|required|email',
]);
在上面的例子中,电子邮件字段将仅在其存在于$数据数组中进行验证。
复杂的条件验证
有时你可能希望增加基于更复杂的条件逻辑验证规则。例如,只有当另一个字段的值大于100时,您才可能希望要求给定的字段。或者,只有当另一个字段存在时,您可能需要两个字段才具有给定值。添加这些验证规则不一定非常痛苦。首先,用您的静态规则创建一个永不改变的Validator实例:
$v = Validator::make($data, [
'email' => 'required|email',
'games' => 'required|numeric',
]);
假设我们的Web应用程序是针对游戏收藏家的。如果一位游戏收藏家注册我们的应用程序,并且他们拥有100多款游戏,我们希望他们解释为什么他们拥有这么多游戏。例如,也许他们经营一家游戏转售店,或者他们只是喜欢收藏。为了有条件地添加这个需求,我们可以在Validator实例上使用有时候的方法。
$v->sometimes('reason', 'required|max:500', function ($input) {
return $input->games >= 100;
});
所以将这项工作: '$ V =验证::使($的数据,[ ]); //无规则provided' '$ V->有时( 'A', '需要',函数($输入){ 如果($输入 - > d == 1){ 返回假; }; if(($ input-> B!= null)||($ input-> C!= null)){ return true; }; }); ' – Muhammad
找出来的最简单的方法是测试:) –
没有运气,它不起作用:/ – Muhammad