Symfony 2.0验证器,Blank()不起作用

时间:2012-04-20 10:56:15

标签: validation symfony

我是Symfony的新手,我遇到了以下问题。 我想生成一个没有课程的表单。 我想在一个字段上添加一个Blank()验证器。 见下文。

class searchPropertyType extends AbstractType
{
    public function getDefaultOptions(array $options)
    {
        $collectionConstraint = new Collection(array(
            'keywords' => new blank()
        ));

        return array('validation_constraint' => $collectionConstraint);
    }


    public function buildForm(FormBuilder $builder, array $options)
    {       
        $builder
            ->add('keywords')
            ->add('neighborhood')
            ->add('price_min')
            ->add('price_max')
            ->add('type')
            ->add('date_from' , 'date')
            ->add('date_to' , 'date')
        ;


    }

    public function getName()
    {
        return 'searchProperty';
    }
}

表单已正确显示但仍然无法发送表单,我收到HTML5提示,说我必须填写此字段。

任何想法?我整整一天都在努力,这让我发疯。

如果你有时间帮忙,非常感谢你; - )

2 个答案:

答案 0 :(得分:0)

要停用HTML5客户端验证,请将'required' => false添加到getDefaultOptions

    public function getDefaultOptions(array $options)
    {
        $collectionConstraint = new Collection(array(
            'keywords' => new blank()
        ));

        return array(
            'validation_constraint' => $collectionConstraint,
            'required' => false
        );
    }

答案 1 :(得分:0)

public function buildForm(FormBuilder $builder, array $options) {
        $builder

                ->add('neighborhood','text',array('required' => false,))
                ->add('price_min','text',array('required' => false,))
               ->add('date_from', 'date', array('widget' => 'single_text', 'format' => 'dd MMM yyyy', 'required' => false))
              );
    }

添加required=>false

希望这有帮助。