【问题标题】:Laravel conditional unique validationLaravel 条件唯一验证
【发布时间】:2018-01-30 06:57:34
【问题描述】:

使用 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'
        ]);

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

找不到类“App\Http\Controllers\Auth\Rule”

我做错了什么?

谢谢

【问题讨论】:

    标签: validation laravel-5


    【解决方案1】:

    您必须在命名空间声明之后在文件顶部包含带有 useRule 类:

    use Illuminate\Validation\Rule; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 2016-01-19
      • 2017-10-11
      • 2015-02-27
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多