laravel模版中的old()方法是做什么的?

laravel模版中的old()方法是做什么的?

阅读 14.8k
4 个回答

比如post到一个地址,验证数据出错的时候,要返回上一页,为了更好的用户体验,会把填写的信息保存到flash session中,在上一页显示出来。
这样用户不至于在辛辛苦苦填写了一大堆表单数据后出错,然后返回重填。

你可以用phpstorm,然后command+b看他的源码,

if (! function_exists('old')) {
    /**
    • Retrieve an old input item.
      *

    • @param string $key

    • @param mixed $default

    • @return mixed
      */

    1. old($key = null, $default = null)

         {
             return app('request')->old($key, $default);
         }

      }

    其实这里也是指向了request的
    图片描述

    可以用来接收,validate 对象返回的旧的输入数据。这样用户在验证失败的时候可以知道之前填写的数据是什么。

    文档:http://laravel-china.org/docs...

    旧输入数据
    当用户提交表单失败后laravel会自动把用户的输入数据闪存到一次性的session里面(这个数据一刷新就会丢失,故称为一次性数据)。那么old('input_name')就可以取出session中的闪存数据,从而避让让用户重新输入。

    <input type="text" name="input_name" value="{{ old('input_name') }}" />
    撰写回答
    你尚未登录,登录后可以
    • 和开发者交流问题的细节
    • 关注并接收问题和回答的更新提醒
    • 参与内容的编辑和改进,让解决方法与时俱进
    宣传栏