0

私はSymfonyを初めて使用し、次の問題に遭遇します。クラスなしでフォームを生成したいのですが。1つのフィールドに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アラートが表示されます。

何か案が?私はその一日に取り組んできました、そしてそれは私を夢中にさせます。

お手伝いする時間があればどうもありがとうございました;-)

4

2 に答える 2

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

お役に立てれば。

于 2012-04-20T13:03:25.183 に答える
0

HTML5 クライアント側の検証を無効にするには、次のように追加'required' => falsegetDefaultOptionsます。

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

        return array(
            'validation_constraint' => $collectionConstraint,
            'required' => false
        );
    }
于 2012-04-20T11:19:29.847 に答える