Laravel 5-使用“旧”的预填充表格

fig*_*r20 0 laravel laravel-5

我有一个表单输入,用于编辑这样的Laravel 5应用程序中的现有条目。

<input name="obj_email" type="text" value="{{$myobject->obj_email}}">
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,并且在加载表单时会预先填充值,但是如果某些表单验证失败,则在页面重新加载时会丢失我输入的电子邮件。

我试图通过这样做来修复它。

<input name="obj_email" type="text" value="{{old('obj_email')}}">
Run Code Online (Sandbox Code Playgroud)

这可以正常工作,并且当验证失败时它现在不会丢失值,但是它不再在初始加载时预先填充表单。

我要去哪里错了?

Pet*_*ter 5

您可以将第二个参数传递给old()帮助器以提供默认值。因此,您可以执行以下操作:

<input name="obj_email" type="text" value="{{old('obj_email',$myobject->obj_email)}}">
Run Code Online (Sandbox Code Playgroud)

因此,如果“旧”值可用,它将使用该值,否则它将使用您首次加载表单时提供的默认值。

这是文档参考:

https://laravel.com/docs/5.7/helpers#method-old