如何在 Symfony 5.2 中覆盖表单域验证错误模板?
我在树枝上有一个这样的表格
{{ form_start(registrationForm) }}
name:<br />
{{ form_row(registrationForm.name) }}
family_name:<br />
{{ form_row(registrationForm.family_name) }}
Email:<br />
{{ form_row(registrationForm.email) }}
password:<br />
{{ form_row(registrationForm.password) }}
<br />
<div class="text-center"><button type="submit" class="site-btn">registration</button></div>
{{ form_end(registrationForm) }}
如果在验证电子邮件字段时出错,这是布局
<div>
<ul>
<li>There is already an account with this email</li>
</ul>
<input type="text" id="registration_form_email" name="registration_form[email]" required="required" maxlength="180" class="register-form-input" autocomplete="off" value="asd">
</div>
问题是布局带有表单验证错误
<ul>
<li>There is already an account with this email</li>
</ul>
取自标准模板 symfony,但我想在表单字段验证失败时使用我自己的模板。
我转向文档以澄清 this 和 this 但老实说,这让我更加困惑,我刚刚意识到可以在模板中以某种方式对该表单进行样式化,但我没有明白。
如何制作自己的模板来显示表单的字段验证错误?
结果,我想得到这样的布局:
<div>
<b>There is already an account with this email</b> <br>
<input type="text" id="registration_form_email" name="registration_form[email]" required="required" maxlength="180" class="register-form-input" autocomplete="off" value="asd">
</div>
答案 0 :(得分:0)
使用 Symfony Forms 时,您可以使用表单错误功能并使用 HTML 来根据您的需要设置样式:
树枝:
{# render only the error messages related to this field #}
{{ form_errors(form.name) }}
{# render any "global" errors not associated to any form field #}
{{ form_errors(form) }}
您需要知道的一切尽在here
答案 1 :(得分:0)
foundation_5_layout.html.twig
extends form_div_layout.html.twig
,我没有看到 form_errors
也在 form_div_layout
中,但原理是一样的。
不要复制,通过示例创建模板“errors.html.twig”,使用您想要的代码创建一个块form_errors
,并在您的表单模板中调用它
{% form_theme form 'path/to/errors.html.twig' %}
是不是更清楚了:)?这只是树枝块的覆盖