Laravel 多维数组验证
Laravel multi dimensional array validation
我正在尝试验证 Laravel 中的多维数组。整个输入本身不是必需的,但是,如果它存在,它的所有键都应该有一些值。
我的输入有动态输入数组。
示例:
$users = [
['name' => 'John' , 'Age' => 25],
['name' => 'Nick' , 'Age' => 28]
]
我的要求是,如果随请求一起发送记录,则它必须同时包含姓名和年龄。同时,整个数组不是强制性的。
我可以接受
$users = []
不能接受
$users = [
['name' => '' , 'Age' => 25],
['name' => 'Nick' , 'Age' => null]
]
我喜欢@Shafeel 的解决方案 - 这是另一种解决方法:
if(count($users >= 1){
foreach($users as $user) {
if(empty($user->name) || empty($user->age) {
return false; //break the loop and return with error message
}
}
}
您请求中类似的东西应该可以工作:
public function rules()
{
return [
'users' => 'array', //add 'sometimes' if the array can be null other than empty
'users.*.name' => 'required',
'users.*.Age' => 'required',
]
}
如果任何用户缺少姓名或年龄属性,则此 return 为 false。
我正在尝试验证 Laravel 中的多维数组。整个输入本身不是必需的,但是,如果它存在,它的所有键都应该有一些值。
我的输入有动态输入数组。 示例:
$users = [
['name' => 'John' , 'Age' => 25],
['name' => 'Nick' , 'Age' => 28]
]
我的要求是,如果随请求一起发送记录,则它必须同时包含姓名和年龄。同时,整个数组不是强制性的。
我可以接受
$users = []
不能接受
$users = [
['name' => '' , 'Age' => 25],
['name' => 'Nick' , 'Age' => null]
]
我喜欢@Shafeel 的解决方案 - 这是另一种解决方法:
if(count($users >= 1){
foreach($users as $user) {
if(empty($user->name) || empty($user->age) {
return false; //break the loop and return with error message
}
}
}
您请求中类似的东西应该可以工作:
public function rules()
{
return [
'users' => 'array', //add 'sometimes' if the array can be null other than empty
'users.*.name' => 'required',
'users.*.Age' => 'required',
]
}
如果任何用户缺少姓名或年龄属性,则此 return 为 false。