我将Text::Xslate与HTML::FormHandler一起使用(HTML::FormHandler 实际上由CatalystX::SimpleLogin在幕后使用,以防万一)。我正在使用 Text::Xslate 的TTerse语法并尝试在我的模板中显示错误,如下所示:
[% FOR field IN login_form.error_fields %]
[% FOR error IN field.errors %]
<p>[% field.label _ ': ' _ error %]</p>
[% END %]
[% END %]
如果我只是打印出来
[% login_form %]
它返回CatalystX::SimpleLogin::Form::Login=HASH(0x7fbb21722a20)
,这是我所期望的。但是当我调用error_fields
它时,它只返回一个1
. 但是,当我使用Template::Toolkit而不是 Text::Xslate 时,它可以正常工作并显示错误。有谁知道为什么error_fields
返回一个数字而不是一个数组?