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
我有一些来自实体的数据的表单类型。
有一个必填字段,但它不在表单类型中。
这是默认的验证约束:
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