【问题标题】:laravel form validation errors are not showing properlylaravel 表单验证错误未正确显示
【发布时间】:2019-02-06 20:19:22
【问题描述】:


我想制作一个带有 laravel 表单验证的注册表单。
在那种情况下,我面临一个很大的问题。
表单验证正在运行,但错误未正确显示。

我看到这些电子邮件和电话错误:Validation.unique
对于必填字段:validation.required

这是我的控制器的代码:

 public function homeregister(Request $request)
    {
      $this->validation($request);
      $request['password'] = bcrypt($request->password);
      $email_verification = time();
      $sms_verify_code = mt_rand(100000, 999999);
      $name = $request->fname.' '.$request->lname;
      $dob = $request->year.'-'.$request->month.'-'.$request->day;
      User::create(['email'=>$request->email,'password'=>$request['password'],'fname'=>$request->fname,'lname'=>$request->lname,'gender'=>$request->gender,'dob'=>$dob,'religion'=>$request->religion,'country'=>$request->country,'email_verify_code'=>$email_verification,'phone'=>$request->phone,'sms_verify_code'=>$sms_verify_code,'name'=>$name,'identifier'=>$request->fname,'profile_created_by'=>$request->profile_for]);
      $value = $request->email;
      $phone = $request->phone;
      Session::put('email', $value);
      Session::put('phone', $phone);
      $myuser = DB::table('users')->select()->where('email',Session::get('email'))->first();
      DB::insert('insert into tbl_profile_photo (userid,photo) values(?,?)',[$myuser->id,null]);
      DB::insert('insert into tbl_cover_photos (userid,photo) values(?,?)',[$myuser->id,null]);
      \Mail::to($value)->send(new wellcome);
      Auth::loginUsingId($myuser->id);
      Session::put('userid',$myuser->id);
      return redirect('/update-profile');
}

验证函数:

public function validation($request)
    {
        $validatedData = $request->validate([
            'fname' => 'required|max:255',
            'lname' => 'required|max:255',
            'email' => 'required|email|max:255|unique:users',
            'phone' => 'required|unique:users|max:255',
            'gender' => 'required|max:255',
            'year' => 'required|max:255',
            'month' => 'required|max:255',
            'day' => 'required|max:255',
            'religion' => 'required|max:255',
            'country' => 'required|max:255',
            'password' => 'required|min:6',
    ]);
    }

我的观点代码:

@if (count($errors) > 0)
@foreach ($errors->all() as $error)
<div class="alert alert-danger alert-dismissible mb-2" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
  <span aria-hidden="true">×</span>
</button>
  <strong>Oh snap!</strong> {{$error}}
</div>
@endforeach
@endif

没听懂?怎么了??

【问题讨论】:

标签: laravel laravel-5


【解决方案1】:

您是否在数据库表中使用与电子邮件相同的名称?如果是,则唯一验证有效,否则它将无效。

【讨论】:

  • 我说,我的表单验证正常,但验证错误没有正确显示
  • 我认为您只有在电子邮件和电话输入字段中存在问题
猜你喜欢
  • 2018-04-19
  • 2019-01-14
  • 1970-01-01
  • 2016-05-25
  • 2019-05-27
  • 2012-12-14
  • 2016-07-05
  • 2016-04-24
  • 1970-01-01
相关资源
最近更新 更多