【问题标题】:Symfony 2.0 validator, Blank() doesn't workSymfony 2.0 验证器,Blank() 不起作用
【发布时间】:2012-04-20 10:56:15
【问题描述】:

我是 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 警报,提示我必须填写此字段。

有什么想法吗?我整天都在为此工作,这让我发疯。

非常感谢您有时间帮忙;-)

【问题讨论】:

    标签: validation symfony


    【解决方案1】:

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

        public function getDefaultOptions(array $options)
        {
            $collectionConstraint = new Collection(array(
                'keywords' => new blank()
            ));
    
            return array(
                'validation_constraint' => $collectionConstraint,
                'required' => false
            );
        }
    

    【讨论】:

      【解决方案2】:
      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

      希望这会有所帮助。

      【讨论】:

      • 我可能错了,但没有必要重复 required 选项,因为它是在您在 getDefaultOptions 中指定时继承的。
      猜你喜欢
      • 1970-01-01
      • 2011-05-22
      • 2017-02-27
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多