验证数组的元素

Validating the elements of an array

我有一个传递给控制器​​的输入元素数组。到目前为止,我已经检查了数据是否存在,是 "array" 类型并且至少有 1 个元素。

$validator = Validator::make($data, [ 'option' => 'required|array|min:1' ]);

但现在我想确保数组中的所有元素都不是空的(例如字符串 "" 或空的 space " "。我不能预测数组将包含多少个元素。

我怎样才能做到这一点?

您可以使用自定义验证规则Here are the docs

像这样:

Validator::extend('array_not_whitespace', function($attribute, $value, $parameters)
{
    foreach($value as $entry)
    {
        if (strlen(trim($entry)) == 0)
           return false;
    }
    return true;
});

$validator = Validator::make($data, [ 'option' => 'required|array_not_whitespace|min:1' ]);