【发布时间】:2017-11-19 14:57:17
【问题描述】:
我的问题相当复杂,很难用文字来解释,所以我会尽力而为。
我有三个输入,都是数组,'A''B''C'。我还有一个复选框输入“D”(不是数组)。如果 B 或 C 中的相应元素非空,则必须要求 A 中的每个元素,但是,如果 D 的值为 1,则即使 B 或 C 中的相应元素非空,也不需要 A .如果 A[1] 为空,B[1] 为空但 C[1] 非空,我希望只需要 A[1],而不需要 A[0] 或 A[2]。
我创建了一些规则来尝试解决这个问题,但我不确定如何解决它。
$validator = Validator::make($output, [
]);
$validator->sometimes('A.*', 'required', function($input){
if ($input->D==1){//if checkbox D is checked, don't make A required regardless of anything else
return false;
}
if (($input->B!=null) || ($input->C!=null)){//Problem: instead of doing it for the individual elements
//it will make A required if any element of B or C is non-empty
return true;
}
return false;
});
【问题讨论】:
标签: php laravel validation laravel-5