在Html表单中,我可以这样做:
<input type="hidden" name="token" value="{{ $token }}">
我想用完全刀片模板这样做:
{{ Form::hidden('token', $token, array('class' => 'form-control')) }}
但第二个选项不会传递$token
值。我哪里出错?
- 更新 -
我找到了解决方法:
这是一个非常简单的问题,但在命名刀片模板中的输入时必须小心。
这是我的第一个表格,效果很好:
<form action="{{ action('RemindersController@postReset') }}" method="POST">
<input type="hidden" name="token" value="{{ $token }}">
Email<input type="email" name="email">
Password<input type="password" name="password">
Password<input type="password" name="password_confirmation">
<input type="submit" value="Reset Password">
</form>
**在刀片模板形式中,它就像**
{{ Form::open(array('action' => 'RemindersController@postReset')) }}
{{ Form::hidden('token', $token , array('class' => 'form-control')) }}
{{ Form::email('email', null, array('class'=>'form-control input-sm','placeholder'=>'Mail address')) }}
{{ Form::password('pass', array('class'=>'form-control input-sm','placeholder'=>'New Password')) }}
{{ Form::password('pass_conf', array('class'=>'form-control input-sm','placeholder'=>'Confirm Password')) }}
{{ Form::submit('Submit', array('class'=>'btn btn-info btn-block')) }}
{{ Form::close() }}
- 解 -
所以错误是:
以第一种形式,
Password<input type="password" name="password">
Password<input type="password" name="password_confirmation">
第二种形式,
{{ Form::password('pass', array('class'=>'form-control
input-sm','placeholder'=>'New Password')) }}
{{Form::password('pass_conf', array('class'=>'form-control
input-sm','placeholder'=>'Confirm Password')) }}
输入名称为密码和 password_confirmation ,在第二种形式中,输入名称为传递和 pass_conf 。
我将密码和pass_conf更改为password_confirmation,现在工作正常。
感谢您的反馈和耐心。
答案 0 :(得分:1)
这只是猜测,但您可以尝试将静态值:
{{ Form::hidden('token', 'some token here', array('class' => 'form-control')) }}
现在检查它是否在页面源中。
如果不是,则表示您可能使用withInput
重定向到表单,然后即使您手动将值设置为任何HTML表单元素,Larravel也会使用与之前相同的数据填充表单。
在这种情况下,您可以使用以下方式进行重定向:
->withInput(Input::except('token'));
如果是这种情况,您可以在此主题中详细了解它:Laravel redirection using withInput doesn't allow to change inputs values
修改强>
您应该尝试更改:
return Redirect::back()->with('error', Lang::get($response));
成:
return Redirect::back()->with(array ('error', 'token'), array(Lang::get($response), Input::get('token'));