手动 Laravel 使用数组索引(而非键)进行验证
Manual Laravel Validation using array index (not keys)
Laravel 验证方面的新手 - 我已经搜索并检查了手册,但似乎找不到答案。我正在使用 Laravel 8.0.
由于per the Laravel manual我创建了一个手动验证来验证我的数组,它包含类似于以下的数据:
$row = array('John','Doe','john.doe@acme.com','Manager');
因为数组没有键,所以我不知道如何在创建验证器时使用它们的索引来引用数组项,我试过这个:
$validatedRow = Validator::make($row, ['0' => 'required|max:2', '1' => 'required']);
$validatedRow = Validator::make($row, [0 => 'required|max:2', 1 => 'required']);
$validatedRow = Validator::make($row, [$row[0] => 'required|max:2', $row[0] => 'required']);
但运气不好 - 有人有什么建议吗?
使用验证器
use Illuminate\Support\Facades\Validator;
然后更新您的代码
$row = array('John','Doe','john.doe@acme.com','Manager');
$rule = [
'0' => 'required|string',
'1' => 'required',
'2' => 'required|email',
'3' => 'required'
];
$validator = Validator::make($row, $rule);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()->all()], 422);
}else{
echo 'ok';
}
Laravel 验证方面的新手 - 我已经搜索并检查了手册,但似乎找不到答案。我正在使用 Laravel 8.0.
由于per the Laravel manual我创建了一个手动验证来验证我的数组,它包含类似于以下的数据:
$row = array('John','Doe','john.doe@acme.com','Manager');
因为数组没有键,所以我不知道如何在创建验证器时使用它们的索引来引用数组项,我试过这个:
$validatedRow = Validator::make($row, ['0' => 'required|max:2', '1' => 'required']);
$validatedRow = Validator::make($row, [0 => 'required|max:2', 1 => 'required']);
$validatedRow = Validator::make($row, [$row[0] => 'required|max:2', $row[0] => 'required']);
但运气不好 - 有人有什么建议吗?
使用验证器
use Illuminate\Support\Facades\Validator;
然后更新您的代码
$row = array('John','Doe','john.doe@acme.com','Manager');
$rule = [
'0' => 'required|string',
'1' => 'required',
'2' => 'required|email',
'3' => 'required'
];
$validator = Validator::make($row, $rule);
if ($validator->fails()) {
return response()->json(['errors' => $validator->errors()->all()], 422);
}else{
echo 'ok';
}