laravel模版中的old()方法是做什麼的?
光陰似箭催人老,日月如移越少年。
你可以用phpstorm,然後command+b看他的源碼,
if (! function_exists('old')) {
/**
Retrieve an old input item.
*
@param string $key
@param mixed $default
@return mixed
*/
old($key = null, $default = null)
{
return app('request')->old($key, $default);
}
}
其實(shí)這裡也是指向了request的
可以用來(lái)接收,validate 物件傳回的舊的輸入資料。這樣用戶在驗(yàn)證失敗的時(shí)候可以知道之前填寫的資料是什麼。
例如post到一個(gè)地址,驗(yàn)證資料出錯(cuò)的時(shí)候,要返回上一頁(yè),為了更好的使用者體驗(yàn),會(huì)把填寫的資訊儲(chǔ)存到flash session中,在上一頁(yè)顯示出來(lái)。
這樣用戶不至於在辛苦填寫了一大堆表單資料後出錯(cuò),然後再回傳重填。
文件:http://laravel-china.org/docs...
舊輸入資料
當(dāng)使用者提交表單失敗後laravel會(huì)自動(dòng)把使用者的輸入資料閃存到一次性的session裡面(這個(gè)資料一刷新就會(huì)遺失,故稱為一次性資料)。那麼old('input_name')就可以取出session中的快閃記憶體數(shù)據(jù),從而避讓讓使用者重新輸入。
<input type="text" name="input_name" value="{{ old('input_name') }}" />