4

我已经为 Laravel 4 安装了 TwigBridge,并且我正在尝试将我已经从 Blade 中获得的一些模板调整为 Twig。

我想在视图顶部显示一些验证错误。

我在 Blade 中有以下内容(工作正常):

@if (isset($errors))
    @foreach ($errors->all() as $error)
        <p>{{ $error }}</p>
    @endforeach
@endif

我试图将其转换为 Twig,但没有显示任何内容。

{% if errors %}
    {% for error in errors %}
        <p>{{ error }}</p>
    {% endfor %}
{% endif %}

但是,如果我尝试:

{{ errors }} 

我确实得到了一些输出:

{"name":["name 字段为必填项。"]}

为了让它工作,我需要改变什么?

任何建议表示赞赏。

谢谢

4

3 回答 3

11

在查看 Illuminate/Support/MessageBag 中的代码后,我解决了这个问题:

{% if errors.any %}
    {% for error in errors.all %}
        <p>{{ error }}</p>
    {% endfor %}
{% endif %}
于 2013-07-09T10:26:51.500 回答
2

这应该有效:

{{ errors.first('email') }}
于 2015-01-06T17:08:54.533 回答
0

我正在使用以下内容来定位一个email字段...

{{ errors.toArray['email'][0] }}

不确定这是一个很好的方法。

于 2013-07-29T21:27:26.087 回答