Laravel 5.1 SQLSTATE[23000]:违反完整性约束错误

Laravel 5.1 SQLSTATE[23000]: Integrity constraint violation error

在使用新电子邮件注册时,我可以成功注册新用户,但是当我尝试创建一个 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();
        });
    } 

我该如何解决这个错误?任何帮助表示赞赏。

应该是:

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

如果您阅读了验证器的文档。

第一个参数:用于输入

第二个参数:用于规则

第三个参数:用于自定义消息