如果数组不为空,如何验证数组的对象。
我有一个多维数组,必须使用laravel验证规则进行验证,但我无法做到这一点。
数组
$array = [
"family" => [
[
"adult" => 2
"kids" => [
["age" => 1]
]
]
[
"adult" => 3
"kids" => [
]
]
[
"adult" => 2
"kids" => [
["age" => 5]
["age" => 2]
]
]
]
]
例如,我必须验证大多数key-val
:family
必须为array
,如果家庭不为空,则验证adult
和kids
({ {1}}必须为adult
,numeric
必须为kids
,如果array
不为空(age
必须为{{1 }}))
我到目前为止所做的事情:
kids
我不知道该怎么办?
答案 0 :(得分:0)
您可以使用validator.sometimes()方法有条件地添加验证规则:
use Validator;
$validator = Validator::make($request->all(), [
'family' => 'required|array|min:1'
]);
$validator->sometimes('family.*.adult', 'required|numeric', function ($input) {
return !empty($input->family);
});
// etc..
$validator->validate();