如何验证数组是否为空

时间:2019-06-21 12:49:00

标签: php arrays laravel laravel-validation

如果数组不为空,如何验证数组的对象。

我有一个多维数组,必须使用laravel验证规则进行验证,但我无法做到这一点。

数组

$array = [

  "family" => [

    [
      "adult" => 2
      "kids" => [
        ["age" => 1]
      ]
    ]


    [
      "adult" => 3
      "kids" => [

      ]
    ]

    [
      "adult" => 2
      "kids" => [
        ["age" => 5]
        ["age" => 2]
      ]
    ]

  ]

]

例如,我必须验证大多数key-valfamily必须为array,如果家庭不为空,则验证adultkids({ {1}}必须为adultnumeric必须为kids,如果array不为空(age必须为{{1 }}))

我到目前为止所做的事情:

kids

我不知道该怎么办?

1 个答案:

答案 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();