Symfony 如何从默认验证组中删除约束

Symfony How to remove constraint from default validation group

我有一些来自实体的数据的表单类型。

有一个必填字段,但它不在表单类型中。

这是默认的验证约束:

public static function loadValidatorMetadata(ClassMetadata $metadata)
    {
        $name_blank     = new NotBlank();
        $name_blank->message    = "The name should not be blank";
        $metadata->addPropertyConstraint('name', $name_blank);

    }

有没有办法覆盖 Symfony 默认验证?

public function checkRequiredDynamicFields(ExecutionContextInterface $context) {

$metadata = $context->getMetadata();

if (empty($this->name)) {
    $context->buildViolation('This is a required field.')
        ->atPath('name')
        ->addViolation();
    $context->buildViolation("Missing the title for conference section.")->addViolation();
}


}

构建表单时,考虑将 'mapped' => false 添加到额外字段:

$qb->add('unbound_field', null, array('mapped' => false))

如果您想在之后添加自定义验证,请查看 this question