如何在 Laravel 中验证整数数组
2022-08-30 14:59:48
我有一个像这样的整数数组。我需要验证以确保每个元素都是数字。我该怎么做?$someVar = array(1,2,3,4,5)
$someVar
我知道对于单个值变量的情况,验证规则将如下所示 。如何将相同的规则应用于数组的每个元素?$rules = array('someVar'=>'required|numeric')
$someVar
非常感谢您的帮助。
我有一个像这样的整数数组。我需要验证以确保每个元素都是数字。我该怎么做?$someVar = array(1,2,3,4,5)
$someVar
我知道对于单个值变量的情况,验证规则将如下所示 。如何将相同的规则应用于数组的每个元素?$rules = array('someVar'=>'required|numeric')
$someVar
非常感谢您的帮助。
现在,laravel 可以选择在数组元素上设置条件。无需为验证int数组等简单内容编写自己的验证器。使用这个(如果在控制器中使用)-
$validator = \Validator::make(compact('someVar'), [
'someVar' => 'required|array',
'someVar.*' => 'integer'
]);
$this->validateWith($validator);
或
$this->validate($request, [
'someVar' => 'array',
'someVar.*' => 'int'
]);
Validator::extend('numericarray', function($attribute, $value, $parameters)
{
foreach($value as $v) {
if(!is_int($v)) return false;
}
return true;
});
使用它
$rules = array('someVar'=>'required|array|numericarray')
编辑:此验证的最新版本不需要定义方法。numericarray
$rules = [
'someVar' => 'required|array',
'someVar.*' => 'integer',
];