Laravel 验证数组的元素
我有一个元素的输入数组,它被传递给控制器。到目前为止,我已经检查了数据是否存在,是否为“数组”类型,是否至少有1个元素Laravel 验证数组的元素,laravel,laravel-4,laravel-validation,Laravel,Laravel 4,Laravel Validation,我有一个元素的输入数组,它被传递给控制器。到目前为止,我已经检查了数据是否存在,是否为“数组”类型,是否至少有1个元素 $validator = Validator::make($data, [ 'option' => 'required|array|min:1' ]); 但是现在我想确保数组中的所有元素都不是emtpy(例如字符串”或空格”。我无法预测数组将有多少个元素 如何实现这一点?您可以使用自定义验证规则 类似这样的内容: Validator::extend('array_not
$validator = Validator::make($data, [ 'option' => 'required|array|min:1' ]);
但是现在我想确保数组中的所有元素都不是emtpy(例如字符串”
或空格”
。我无法预测数组将有多少个元素
如何实现这一点?您可以使用自定义验证规则 类似这样的内容:
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' ]);
实际上,如果没有
trim
,您甚至不需要检查strlen
,strlen(trim($entry))==0将涵盖所有内容。