使用Form :: password laravel 4.2的旧输入

时间:2015-10-20 16:42:47

标签: laravel laravel-4

在我的刀片中我有这个更改密码功能我希望它在用户出现错误时“显示”旧密码,例如用户没有输入任何内容并点击提交所以这里是我刀片中的代码

<div class="form-group">
                        {{ Form::label('cpass', 'Current Password') }} <span style="color:red"><i>{{ $errors->first('cpass', ':message') }}</i></span>
                        {{ Form::password('cpass',  array('class' => 'form-control' , 'placeholder'=>'enter current password') , Input::old('cpass') ) }}
                    </div>
                    <div class="form-group">
                        {{ Form::label('npass', 'New Password') }} <span style="color:red"><i>{{ $errors->first('npass', ':message') }}</i></span>
                        {{ Form::password('npass', array('class' => 'form-control', 'placeholder'=>'enter new password'), Input::old('npass') ) }}
                    </div>
                    <div class="form-group">
                        {{ Form::label('rpass', 'Re-type new Password') }} <span style="color:red"><i>{{ $errors->first('rpass', ':message') }}</i></span>
                        {{ Form::password('rpass', array('class' => 'form-control', 'placeholder'=>'re-type new password'), Input::old('rpass') ) }}
                    </div>

在我的控制器中我像这样抛出它

$validator = Validator::make(Input::all(), $rules, $messages);
    if ($validator->fails()) 
    {
        return Redirect::to('User_Profile')
            ->withErrors($validator)
            ->withInput(Input::all());
    }
    else
    {
        //do stuff
    }

我不知道为什么我没有得到用户的旧输入。我在做什么可能是错的?感谢

1 个答案:

答案 0 :(得分:2)

除了密码字段的名称及其属性外,表单构建器密码方法不接受任何输入:

http://laravel.com/api/4.2/Illuminate/Html/FormBuilder.html#method_password

您需要通过在页面加载时手动设置密码字段的值来使用javascript执行此操作:

<script type="text/javascript">
    $(function()
    {
        $('#rpass').val("{{ Input::old('rpass') }}");
    });
</script>