我想在laravel中构建一个注册表单。我的表单有密码确认。 在视图中,我有以下代码:
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password">
</div>
<div class="form-group">
<label for="password_confirmation">Confirm Password</label>
<input type="password" class="form-control" id="password_confirmation" name="password">
</div>
在控制器中,我有以下代码进行验证:
$this->validate(request(), [
'name' => 'required',
'email' => 'required|email',
'password' => 'required|confirmed',
]);
当我提交表格时,我得到&#34;密码确认不匹配。&#34;错误。是什么导致这个错误? 在此先感谢。
答案 0 :(得分:3)
您的两个密码输入都具有相同的名称:password
。您需要重命名确认信息:name="password_confirmation"
答案 1 :(得分:0)
这是在laravel中确认密码的最佳方法
<label class="control-label">Password</label>
<input id="password" type="password" class="form-control{{ $errors->has('password') ? ' is-invalid' : '' }}" name="password" required>
<i class="fa fa-eye" aria-hidden="true" onclick="myFunction()"> Show Hide</i>
{!! $errors->first('password', '
<p class="text-danger errorBag" id="showerror">:message</p>') !!}
</div>
<div class="form-group col-md-6">
<label class="control-label">Confirm Password</label>
<input type="password" id="myInput1" name="password_confirmation" class="form-control
" value="{{old('password-confirm')}}">
<i class="fa fa-eye" aria-hidden="true" onclick="myFunction1()"> Show Hide</i> {!! $errors->first('password-confirm', '
<p class="text-danger errorBag" id="showerror1">:message</p>') !!}
</div>
在控制器中
public function manage_vendorstore(Request $request)
{
request()->validate([
'password' => 'required|between:6,255|confirmed',
]);
$data = new Vendor();
$data->password = Hash::make($request->get('password'));
}