Laravel条件独特验证

时间:2017-08-22 06:07:42

标签: validation laravel-5

使用Laravel 5.4,我需要验证用户表上的电子邮件字段是否仅在role_id字段不是999时才是唯一的。

在注册控制器中,我这样做了:

      return Validator::make($data, [
            'first_name' => 'required|max:255',
            'last_name' => 'required|max:255',
            'email' => [
                'required',
                'email',
                'max:255',
                Rule::unique('users')->where(function($query) {
                  $query->where('role_id', '<>', 999);
    })
   ],

            'phone' => 'required|phone',
            'password' => 'required|min:6|confirmed'
        ]);

但是当我尝试注册时,我收到了这个错误:

Class&#39; App \ Http \ Controllers \ Auth \ Rule&#39;找不到

我做错了什么?

谢谢

1 个答案:

答案 0 :(得分:2)

在命名空间声明后,您必须在文件顶部包含Rule类,并使用 use

use Illuminate\Validation\Rule;