首頁 >後端開發 >php教程 >這個$errors有時候不存在,為什麼blade不報錯?

這個$errors有時候不存在,為什麼blade不報錯?

WBOY
WBOY原創
2016-08-04 09:20:27957瀏覽

這個$errors有時候不存在,為什麼blade不報錯?

回覆內容:

這個$errors有時候不存在,為什麼blade不報錯?

$errorslaravelresponse 中自動塞進去的一個屬性,就算你程式碼中沒有寫到,他還是會傳一個空的,其類型為

IlluminateSupportViewErrorBag

但其實只是用陣列來載 IlluminateSupportMessageBag

所以當你使用 $errors->first('email') 時,可以根據下面程式碼看出來

<code class="php">/**
 * Get the first message from the bag for a given key.
 *
 * @param  string  $key
 * @param  string  $format
 * @return string
 */
public function first($key = null, $format = null)
{
    $messages = is_null($key) ? $this->all($format) : $this->get($key, $format);
    return count($messages) > 0 ? $messages[0] : '';
}</code>

有值就回傳,沒值就回傳空,所以才不會報錯

因為Laravel 5.2.27開始在每個頁面都加上了web中間件,自然不會報錯「$errors未定義」。
另外你直接在Views寫表單碼?不用點form擴充包嗎?

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn