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.
Таблица базы данных электронной почты
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**






Вы пробовали RULE-EXISTS?
существует: таблица, столбец
Проверяемое поле должно существовать в данной таблице базы данных.
Более: https://laravel.com/docs/5.6/validation#rule-exists
да, но не уникальный, используйте - существует: table_name, column_name
Вы должны использовать проверку unique для уникального адреса электронной почты в таблице users и проверку exists для проверки наличия электронной почты в таблице emails.
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',
]);
}
Предполагая, что у вас есть поле email в таблицах users и emails
Нет, я этого не пробовал. Значит, я должен сделать это вот так?
'required|max:255|unique:tablename.columnname,email',