【问题标题】:Why in Symfony2 is $form->isValid() returning true, when one of its constraints returns false?为什么在 Symfony2 中 $form->isValid() 返回 true,而其中一个约束返回 false?
【发布时间】:2012-07-13 14:19:22
【问题描述】:

我有一个简单的类约束验证器,它在我的实体中被正确引用,当我根据实体验证我的表单时,我可以看到它被调用并返回 false,但 $form->isValid()正在返回 true

知道为什么会这样吗?任何返回 false 的约束肯定会导致表单无效吗?

实体:

* @ACMEAssert\ExampleConstraint()

ACMEConstraint:

**
 * @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;
    }
}

【问题讨论】:

    标签: symfony symfony-forms


    【解决方案1】:

    试试这个:设置错误消息(违规):

    $this->context->addViolation('bar', array(), null);
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-21
    • 2019-12-07
    • 1970-01-01
    • 2013-07-13
    • 1970-01-01
    • 2019-11-11
    相关资源
    最近更新 更多