- 首页
- PHP
- form_errors(form) 在 Symfony Twig 中没有显示任何错误
form_errors(form) 在 Symfony Twig 中没有显示任何错误
[英] form_errors(form) not showing any errors in Symfony Twig
本文介绍了form_errors(form) 在 Symfony Twig 中没有显示任何错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只是不知道为什么 form_errors(form) 不打印任何错误?
这是我的树枝文件
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register signup-form" novalidate><div class="errors">{{ form_errors(form) }}
<div class="form-input-group"><i class="fa fa-check"></i>{{ form_widget(form.firstName, { 'attr': {'class': 'form-control'} }) }}
<div class="form-input-group"><i class="fa fa-check"></i>{{ form_widget(form.lastName, { 'attr': {'class': 'form-control'} }) }}
<div class="form-input-group"><i class="fa fa-check"></i>{{ form_widget(form.contactNumber, { 'attr': {'class': 'form-control'} }) }}
<div class="form-input-group input-append date" id="datepicker"><i class="fa fa-calendar"></i>{{ form_widget(form.birthday,{属性:{'数据格式': "dd/MM/yyyy hh:mm:ss" },})}}<span class="附加组件"><i data-time-icon="icon-time" data-date-icon="icon-calendar"></i></span>
<div class="form-input-group"><i class="fa fa-venus-mars"></i><div class="性别广播"><label class="radio-inline">{{ form_widget(form.gender[0]) }} 男 </label><label class="radio-inline">{{ form_widget(form.gender[1]) }} 女性</label>
<div class="form-input-group"><i class="fa fa-check"></i>{{ form_widget(form.username, { 'attr': {'class': 'form-control', 'placeholder': '输入用户名'} }) }}
<div class="form-input-group"><i class="fa fa-check"></i>{{ form_widget(form.email, { 'attr': {'class': 'form-control', 'placeholder': '输入电子邮件地址'} } ) }}
<div class="form-input-group"><i class="fa fa-lock"></i>{{ form_widget(form.plainPassword.first, { 'attr': {'class': 'form-control', 'placeholder': '输入密码'} }) }}
<div class="form-input-group"><i class="fa fa-lock"></i>{{ form_widget(form.plainPassword.second, { 'attr': {'class': 'form-control', 'placeholder': '重复密码'} }) }}
<div class="row"><div class="col-md-6 col-md-offset-3"><button type="submit" class="btn-fill sign-up-btn">注册</button>
{{ form_rest(form) }}</表单>
这是我的表单类型:
class RegistrationType 扩展 AbstractType{公共函数 buildForm(FormBuilderInterface $builder, array $options){parent::buildForm($builder, $options);$性别=数组(1 =>'男性',0 =>'女性');$builder->add('username', 'text', array('attr'=> array('placeholder'=>'输入用户名')))->add('firstName', 'text', array('attr'=> array('placeholder'=>'输入名字')))->add('lastName', 'text', array('attr'=> array('placeholder'=>'输入姓氏')))->add('生日', '日期时间', 数组('属性' =>array('placeholder' => '选择你的生日'),'小部件' =>'single_text','html5' =>错误的,))->add('性别', '选择', 数组('属性' =>array('class' => 'form-control'),'选择' =>$性别,'数据' =>1、'扩展' =>真的,))->add('contactNumber','text' , array('attr'=> array('placeholder'=>'Enter contact number')));}公共函数 getParent(){返回 'fos_user_registration';}公共函数 getName(){返回app_user_registration";}
我知道有错误,因为如果我像这样单独渲染它们时出现错误:
form_errors(form.firstName);
顺便说一下,我使用的是 2.7 版本.
解决方案
子字段的错误只会在 error_bubbling 设置为 true
此字段.
I just dont know why form_errors(form) does not print any errors?
Here is my twig file
<form action="{{ path('fos_user_registration_register') }}" {{ form_enctype(form) }} method="POST" class="fos_user_registration_register signup-form" novalidate>
<div class="errors">
{{ form_errors(form) }}
</div>
<div class="form-input-group">
<i class="fa fa-check"></i> {{ form_widget(form.firstName, { 'attr': {'class': 'form-control'} } ) }}
</div>
<div class="form-input-group">
<i class="fa fa-check"></i> {{ form_widget(form.lastName, { 'attr': {'class': 'form-control'} } ) }}
</div>
<div class="form-input-group">
<i class="fa fa-check"></i> {{ form_widget(form.contactNumber, { 'attr': {'class': 'form-control'} } ) }}
</div>
<div class="form-input-group input-append date" id="datepicker">
<i class="fa fa-calendar"></i>
{{ form_widget(form.birthday,
{attr: {
'data-format': "dd/MM/yyyy hh:mm:ss" },
})
}}
<span class="add-on">
<i data-time-icon="icon-time" data-date-icon="icon-calendar"></i>
</span>
</div>
<div class="form-input-group">
<i class="fa fa-venus-mars"></i>
<div class="gender radio">
<label class="radio-inline">{{ form_widget(form.gender[0]) }} Male </label>
<label class="radio-inline">{{ form_widget(form.gender[1]) }} Female </label>
</div>
</div>
<div class="form-input-group">
<i class="fa fa-check"></i> {{ form_widget(form.username, { 'attr': {'class': 'form-control', 'placeholder': 'Enter username'} } ) }}
</div>
<div class="form-input-group">
<i class="fa fa-check"></i> {{ form_widget(form.email, { 'attr': {'class': 'form-control', 'placeholder': 'Enter email address'} } ) }}
</div>
<div class="form-input-group">
<i class="fa fa-lock"></i> {{ form_widget(form.plainPassword.first, { 'attr': {'class': 'form-control', 'placeholder': 'Enter password'} } ) }}
</div>
<div class="form-input-group">
<i class="fa fa-lock"></i> {{ form_widget(form.plainPassword.second, { 'attr': {'class': 'form-control', 'placeholder': 'Repeat password'} } ) }}
</div>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<button type="submit" class="btn-fill sign-up-btn">Register</button>
</div>
</div>
{{ form_rest(form) }}
</form>
and here is my form type:
class RegistrationType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
$gender = array(
1 => 'Male',
0 => 'Female'
);
$builder
->add('username', 'text' , array('attr'=> array('placeholder'=>'Enter username')))
->add('firstName', 'text', array('attr'=> array('placeholder'=>'Enter first name')))
->add('lastName', 'text', array('attr'=> array('placeholder'=>'Enter last name')))
->add('birthday', 'datetime', array(
'attr' => array('placeholder' => 'Pick your birthday'),
'widget' => 'single_text',
'html5' => false,
))
->add('gender', 'choice', array(
'attr' => array('class' => 'form-control'),
'choices' => $gender,
'data' => 1,
'expanded' => true,
))
->add('contactNumber','text' , array('attr'=> array('placeholder'=>'Enter contact number')));
}
public function getParent()
{
return 'fos_user_registration';
}
public function getName()
{
return 'app_user_registration';
}
I know that there were errors because if it appears when i render them individually like so:
form_errors(form.firstName);
By the way I am using the 2.7 version.
解决方案
Errors of child field will be passed to its parent only if error_bubbling is set to true
for this field.
这篇关于form_errors(form) 在 Symfony Twig 中没有显示任何错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文