2017-08-22 30 views
0

与Laravel 5.4工作,我需要验证,如果在用户表中的电子邮件字段是唯一只有在ROLE_ID字段不是999Laravel有条件的唯一验证

寄存器控制器中我这样做:

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

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

级“应用程序\ HTTP \控制器\身份验证\规则”未找到

我在做什么错?

谢谢

回答

1

您必须包括Rule类在你的文件的命名空间声明后顶部的使用

use Illuminate\Validation\Rule;