2017-08-22 107 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;