Reputation: 642
Problem is how to validate by Database model, I have model "Emails". I just want to people can register if their email already in our Email model.
Email database table
Schema::create('emails', function (Blueprint $table) {
$table->increments('id');
$table->text('username')->nullable();
$table->text('fullname')->nullable();
$table->text('description')->nullable();
$table->text('email')->nullable();
$table->timestamps();
});
Auth@RegisterController
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|max:255|unique:users', here i guess
'password' => 'required|min:6|confirmed',
]);
}**strong text**
Upvotes: 4
Views: 9434
Reputation: 8287
You have to use unique
validation for unique email in users
table and exists
validation to check email exists in emails
table.
protected function validator(array $data)
{
return Validator::make($data, [
'name' => 'required|max:255',
'email' => 'required|max:255|unique:users|exists:emails',
'password' => 'required|min:6|confirmed',
]);
}
Assuming you have email
field in both users
and emails
tables
Upvotes: 5
Reputation: 5896
Did u try RULE-EXISTS?
exists:table,column
The field under validation must exist on a given database table.
More: https://laravel.com/docs/5.6/validation#rule-exists
Upvotes: 1