0
我的表单与建立约束的模型绑定在一起。当值符合约束时验证通过,反之亦然...
除了只有一个字段装饰有似乎永远不会被评估的表达式约束。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"
代替表达式,或从内部die;
isValidHelpType()函数(在return语句之前,显然)没有任何反应。
是否存在某种不同类型的约束,如class
级别与property
级别的异或行为?无论如何,这里有什么想法?
谢谢。