【发布时间】:2021-02-22 02:30:32
【问题描述】:
我是 laravel 中的验证规则 查看所有验证规则,但如果我在两个字段中提供相同的密码,则密码和确认密码不匹配。我犯了什么错误,我对这两个字段都使用了自定义消息。
刀片:
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label for="inputPassword">Password</label>
<input type="password" class="form-control" id="inputPassword" placeholder="Enter Password" name="password">
<span class="text-danger">{{ $errors->first('password') }}</span>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label for="inputCPassword">Password</label>
<input type="password" class="form-control" id="inputCPassword" placeholder="Enter Confirm Password" name="cpassword">
</div>
</div>
</div>
控制器:
public function store(Request $req)
{
$user=new Users;
$mytime = Carbon::now();
$user->updated_at=$mytime->toDateTimeString();
$user->created_at=$mytime->toDateTimeString();
$user->name=$req->input('name');
$user->email=$req->input('email');
$user->password=$req->input('password');
$user->cpassword=$req->input('cpassword');
$user->mobile_number=$req->input('mobile_number');
$messages = [
'password.confirmed' => 'Your passwords were mismatched',
'cpassword.min' => 'Your password must be at least 4 characters'
];
$rules=[
'name' => 'required',
'email' => 'required|email|unique:table_users',
'mobile_number' => 'required|unique:table_users',
'password' => 'min:4|confirmed',
'cpassword' => 'min:4|confirmed',
];
$this->validate($req, $rules, $messages);
$user->save();
return redirect('login')->with('success',"You have successfully submitted data & now you can login");
【问题讨论】:
-
确认密码字段名称应为password_confirmation laravel.com/docs/8.x/validation#rule-confirmed
-
您好,可能有很多东西阻止了保存。您的用户模型是否有可填充的数组,包括电子邮件、手机号码和其他必需区域?这可能是一个批量分配问题。请查看laravel.com/docs/8.x/eloquent#mass-assignment
标签: laravel