1

エンティティで正しく参照されている単純なクラス制約バリデータがあり、エンティティに基づいてフォームを検証すると、それが呼び出されてfalseを返していることがわかりますが、 true$form->isValid()を返しています。

なぜこれが起こっているのですか?確かに false を返す制約は、フォームを無効にする必要がありますか?

実在物:

* @ACMEAssert\ExampleConstraint()

ACME制約:

**
 * @Annotation
 */
class ExampleConstraint extends Constraint
{
    public function validatedBy()
    {
        return 'acme.example.validator.example';
    }

    public function getTargets()
    {
        return Constraint::CLASS_CONSTRAINT;
    }
}

ACMEValidator:

class ExampleValidator extends ConstraintValidator
{
    public function isValid($entity, Constraint $constraint)
    {
        return false;
    }
}
4

1 に答える 1

2

これを試してください: エラーメッセージを設定します (違反):

$this->context->addViolation('bar', array(), null);
于 2012-07-13T14:35:46.790 に答える