手动 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';
        }