Php 表格在symfony2中始终有效

Php 表格在symfony2中始终有效,php,validation,symfony,symfony-forms,Php,Validation,Symfony,Symfony Forms,我有一个带有此验证的表单: # ITW/UserBundle/Resources/config/validation.yml ITW\UserBundle\Entity\User: properties: name: - NotBlank: ~ - Length: { min: 800 } 我检查的表格是这样的: // ITW/UserBundle/Controller/UserController.php $

我有一个带有此验证的表单:

# ITW/UserBundle/Resources/config/validation.yml

ITW\UserBundle\Entity\User:
    properties:
        name:
            - NotBlank: ~
            - Length: { min: 800 }
我检查的表格是这样的:

// ITW/UserBundle/Controller/UserController.php

    $entity = new User();
    $form = $this->createForm(new UserType(), $entity);

    $form->handleRequest($request);

    if ($form->isValid()) {
        echo "valid!";
    }
在config.yml中,验证为:

validation:      { enabled: true }
但是当我提交带有空名称字段的表单时,$form->isValid总是返回True

我搞不懂怎么回事! 我确信validation.yml加载正确,就像我使用无效字段名symfony时一样

问题在哪里

Symfony的版本是2.5.6,我也尝试过2.5.5 我还尝试使用getters约束目标作为字段名,得到了相同的结果

我的用户类型是:


只是为了澄清一下,配置验证是指您尚未从config.yml文件中删除节表单


你有这个吗?验证:{enable_annotations:true}在app/config/config.yml?@AlexandreL的框架部分。不,因为我没有使用注释,所以我使用的是validation.yml;无论如何,我也用注释进行了测试&它也失败了;请检查我的最后三行question@Chausser:版本2.5.6您是否尝试过验证程序$Validator=$this->get'Validator'?让我们在@Chausser的帮助下解决问题;聊天链接位于评论的末尾;更改错误主题的空白控制解决了它!!!为什么?
namespace ITW\UserBundle\Form\Type;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use ITW\UserBundle\Entity\User;

class UserType extends AbstractType
{
    public function __construct(){}

    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
        ->add('name','text',array('required'  => true,'label'=>'name'))
        ->add('family','text',array('required'  => true,'label'=>'family'))
        ->add('tels','collection', array('required'  => false,'prototype'=>true,'type'=> 'text','allow_add'=>true,'delete_empty'=>true,'label'=>'Tel'))
        ->add('username','text',array('required'  => true,'label'=>'username'))
        ->add('password','password',array('required'  => true,'label'=>'password'));

    }

    /**
     * @param OptionsResolverInterface $resolver
     */
    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'ITW\UserBundle\Entity\User'
        ));
    }

    /**
     * @return string
     */
    public function getName()
    {
        return 'itw_userbundle_user';
    }
}
framework:
    form: ~