私のフォームは、制約が設定されたモデルに関連付けられています。
は、評価されることのないように見える表現制約で飾られたフィールドが1つだけの場合を除いて、妥当性検査は正常にパスします。symfony 3検証式が評価されない
私の必要性がある:私のモデルの「helpType」プロパティの値は、いくつかの配列に含まれるていない場合は、は検証を通過しないので、私は仕事に以下のコードを期待:
// PostModel.php
/**
* @Assert\Expression(
* "this.isValidHelpType()",
* message="post.create.help-invalid"
*)
* @ORM\Column(type="integer")
*/
protected $helpType;
public function isValidHelpType()
{
return in_array($this->getHelpType(), Post::getHelpTypes());
}
// PostType.php
// …
->add('helpType', TextType::class, [ 'error_bubbling' => true, 'label'=>false ])
// …
"false"
を式のかわりに入力するか、またはをのisValidHelpType()関数の中から(return文の前に、明らかに)何も起こらないので、制約は決して実行されないようです。
class
レベル対XOR動作のレベルproperty
のような種類の異なる種類の制約がありますか?とにかく、ここで何が起こっているのか?
ありがとうございます。