在Laravel中将默认值设置为Form:text()

时间:2014-03-08 02:17:01

标签: php html laravel laravel-4

好吧,我很失落如何实现这种行为。在我看来,我有这个:

Form::text('time', Input::old('time'));

因此,表单验证器失败的所有内容都会再次使用 time 输入呈现视图,该输入具有用户在过去键入的值...此处一切正常。

我想要做的是在开头的时间输入中显示默认值,如下所示:

time:  [ now      ]

但是如果用户更改“now”字并且验证器失败,我想显示用户提交的文本而不是“now”。

1 个答案:

答案 0 :(得分:2)

使用Laravel 4,您无需明确告诉它加载旧数据,因为您使用的是Form::text宏,它会为您执行此操作。

所以这样的事情对你有用:

Form::text('time', 'now');

这会将'now'设置为默认值,但如果Input::old('time')中有值,则会神奇地显示为默认值。

您需要确保重定向格式with input,如下所示:

return Redirect::route('your.route')->withInput();

如果您想看到背后的魔力,请参阅代码here,然后here,最后是here