验证数组的元素
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' ]);
我有一个传递给控制器的输入元素数组。到目前为止,我已经检查了数据是否存在,是 "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' ]);