php - 这个$errors有时候不存在,为什么blade不报错呢?
迷茫
迷茫 2017-04-11 09:19:42
[PHP讨论组]

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
大家讲道理

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

Illuminate\Support\ViewErrorBag

但其實只是用數組乘載 Illuminate\Support\MessageBag

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

/**
 * 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] : '';
}

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

PHP中文网

因为Laravel 5.2.27开始在每个页面都加上了web中间件,自然不会报错“$errors未定义”。
另外你直接在Views写表单代码?不用点form扩展包吗?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号