form_errors(form) 在 Symfony Twig 中没有显示任何错误 [英] form_errors(form) not showing any errors in Symfony Twig

查看:39
本文介绍了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]) }} &nbsp;男 </label><label class="radio-inline">{{ form_widget(form.gender[1]) }} &nbsp;女性</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]) }} &nbsp; Male </label>        
                                <label class="radio-inline">{{ form_widget(form.gender[1]) }} &nbsp; 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屋!

查看全文
相关文章
PHP最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆