2016-03-29 27 views
-1

私は検証したい表記を持っています。ユーザーが充填されていないフィールドを離れることはできないはずと私は@Assert\NotBlankを使用しますが、なぜそれが、これは私のエンティティの一部で動作していないように見えること: @Assert NotBlank Not working

use Doctrine\ORM\Mapping as ORM; 
use Symfony\Component\Validator\Constraints as Assert; 
... 
    /** 
    * @var string 
    * 
    * @ORM\Column(name="device", type="string", length=255, nullable=false) 
    * @Assert\NotBlank(message="This value cannot be empty!") 
    */ 
    private $device; 
... 

とのcontrolerに、私はsymfonyのからformbuilderを使用してい

このように:

... 
    $form = $this->createFormBuilder() 
     ->add('device', 'text', array(
      'label' => 'Device:', 
      'attr' => array('placeholder' =>'Dell 2407WPB - Monitor'), 
      'required' => true, 
      )) 
... 

あなたは何が間違っているかもしれないかについてのご意見はありますか?私はこの問題に長続きしていませんでした。事前に

感謝:)あなたはcreateFormBuilderでフォームを作成する場合

+1

あなたのコントローラでisValid()を呼び出すことを忘れないでくださいか?ここでは、コードが正しいようです。 – Alsatian

+0

はい、私は 'if($ form-> isSubmitted()&& $ form-> isValid())'を使用します。 – OmarAguinaga

答えて

1

、あなたはエンティティのインスタンスを渡す必要があります。

$form = $this->createFormBuilder(new MyEntity()) 

フォームがデータ(および彼の制約)を保持するクラスを知るようにします。