laravel中的密码确认

时间:2018-02-23 22:42:50

标签: php laravel

我想在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;错误。是什么导致这个错误? 在此先感谢。

2 个答案:

答案 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'));
}