2012-04-20 7 views
0

私はSymfonyの新機能です。私は以下の問題を抱えています。 私はクラスなしでフォームを生成したいと思います。 1つのフィールドにBlank()バリデーターを追加したいと思います。 以下を参照してください。symfony 2.0バリデーター、ブランク()が機能しません

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の警告を得ました。

いいですか?私は一日中それに取り組んでおり、それは私を夢中にさせる。あなたはHTML5クライアント側の検証を無効にするには;-)

答えて

0

を助けるために時間を持っている場合

はどうもありがとうございますgetDefaultOptions'required' => falseを追加します。

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

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

大変感謝! – 123pierre

+0

@ 123pierreあなたを歓迎します、私は助けてうれしいです。 – gremo

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

に希望これを追加助けてください。

+0

私は間違っているかもしれませんが、 'getDefaultOptions'で指定したときに継承されているので、' required'オプションを繰り返す必要はありません。 – gremo

関連する問題