标签: php html laravel laravel-4
好吧,我很失落如何实现这种行为。在我看来,我有这个:
Form::text('time', Input::old('time'));
因此,表单验证器失败的所有内容都会再次使用 time 输入呈现视图,该输入具有用户在过去键入的值...此处一切正常。
我想要做的是在开头的时间输入中显示默认值,如下所示:
time: [ now ]
但是如果用户更改“now”字并且验证器失败,我想显示用户提交的文本而不是“now”。
答案 0 :(得分:2)
使用Laravel 4,您无需明确告诉它加载旧数据,因为您使用的是Form::text宏,它会为您执行此操作。
Form::text
所以这样的事情对你有用:
Form::text('time', 'now');
这会将'now'设置为默认值,但如果Input::old('time')中有值,则会神奇地显示为默认值。
Input::old('time')
您需要确保重定向格式with input,如下所示:
with input
return Redirect::route('your.route')->withInput();
如果您想看到背后的魔力,请参阅代码here,然后here,最后是here