Laravel 5.1 SQLSTATE [23000]: ошибка нарушения ограничения целостности

При регистрации с новым адресом электронной почты я могу успешно зарегистрировать нового пользователя, но когда я пытаюсь сделать validation rule ограничить существующее письмо от регистрации, вместо того, чтобы выдавать сообщение об ошибке проверки, его дает мне Integrity constraint violation error ,

вот мой controller

 public function postRegister(Request $request){
$v = validator::make($request->all(), [
'first_name' => 'required|max:30',
'last_name' => 'required|max:30',
'email' => 'required|unique:users|email',
'mobile' => 'required|min:10',
'password' => 'required|min:8',
'confirm_password' => 'required|same:password'
]);

if ($v->fails())
{
return redirect()->back()
->withErrors($v->errors())
->withInput(Input::except('password', 'confirm_password'));
}



else{

// validation successful ---------------------------

/*
add data to database
*/

}

а это мой migration

public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('first_name', 80);
$table->string('last_name', 80);
$table->string('email')->unique();
$table->string('mobile',80);
$table->string('password', 60);
$table->boolean('confirmed')->default(0);
$table->string('confirmation_code')->nullable();
$table->float('amount', 80);
$table->rememberToken();
$table->timestamps();
});
}

Как я могу исправить эту ошибку? Любая помощь приветствуется.

0

Решение

Должно быть:

 if ($v->fails())
{
return redirect()->back()
->withErrors($v->messages()) //Not errors
->withInput(Input::except('password', 'confirm_password'));
}

Если вы читаете документацию валидаторов.

Первый параметр: Для входов

Второй параметр: Для правил

Третий параметр: Для пользовательских сообщений

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]