Laravel 验证唯一查询

Laravel Validation unique query

我想自定义 laravel 验证唯一查询

喜欢User::where('type','admin')

这是我的代码

$validator = Validator::make($request->all(), [
        'name' => 'required',
        'email' => 'required|email|unique:users', //need to customize
        'password' => 'required',
        'confirm_password' => 'required|same:password',
    ]);

    if ($validator->fails()) {
        $res = [
            'bool' => false,
            'message' => $validator->errors()->first(),
        ];
        return response()->json($res);
    }

你可以用这个

https://laravel.com/docs/8.x/validation#rule-exists

use Illuminate\Validation\Rule;

    $validator = Validator::make($request->all(), [
            'name' => 'required',
             email' => ['required','email',  Rule::unique('users')->where('type','admin')],
            'password' => 'required',
            'confirm_password' => 'required|same:password',
        ]);

        if ($validator->fails()) {
            $res = [
                'bool' => false,
                'message' => $validator->errors()->first(),
            ];
            return response()->json($res);
        }