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

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

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


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


你可以用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的


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


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

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

    <input type="text" name="input_name" value="{{ old('input_name') }}" />
    【热门文章】
    【热门文章】