在我的刀片中我有这个更改密码功能我希望它在用户出现错误时“显示”旧密码,例如用户没有输入任何内容并点击提交所以这里是我刀片中的代码
<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
}
我不知道为什么我没有得到用户的旧输入。我在做什么可能是错的?感谢
答案 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>