使用Symfony验证的正确方法是什么?

时间:2015-09-02 11:19:29

标签: php validation symfony

我正在使用现有的Symfony应用程序,我已经(不完美)更新了Symfony 2.32.7

我想更新现有的违规行为,然后再添加一些。

目前的课程看起来有点像这样:

use Symfony\Component\Validator\Constraint;
use Symfony\Component\Validator\ConstraintValidator;

class RFQConstraintValidator extends ConstraintValidator
{
    public function validate($entity, Constraint $constraint)
    {
        if ($entity->$entityMethod()) {
            $this->context->addViolationAt(
                $entity->getTarget(),
                'Can’t do this!',
                array(),
                null
            );

        }
    }
}

Symfony文档建议将addViolationAt()替换为:

$this->context->buildViolation($constraint->message)
    ->setParameter('%string%', $value)
    ->addViolation();

但是,我在上下文中找不到buildViolation

ConstraintValidator->context (Symfony\Component\Validator\ExecutionContextValidator)   

没有方法buildViolation

ConstraintValidator有一个方法buildViolation,但是自2.5版以来它已被弃用。

0 个答案:

没有答案