6

Working with Laravel 5.4, I need to validate if the email field on the users table is unique only if the role_id field is not 999.

In the Register Controller I did this:

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

But when I try to register I get this error:

Class 'App\Http\Controllers\Auth\Rule' not found

What am I doing wrong?

Thank you

Sigal Zahavi
  • 1,045
  • 2
  • 21
  • 42

1 Answers1

6

You have to include the Rule class with a use at the top of your file after the namespace declaration:

use Illuminate\Validation\Rule; 
thefallen
  • 9,496
  • 2
  • 34
  • 49