【问题标题】:Symfony How to remove constraint from default validation groupSymfony 如何从默认验证组中删除约束
【发布时间】:2016-11-24 09:15:03
【问题描述】:

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

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

这是默认的验证约束:

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();
}


}

【问题讨论】:

标签: php validation symfony symfony-forms


【解决方案1】:

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

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

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

【讨论】:

  • 我认为这不是他想要的。到目前为止,我所了解的是他对实体的属性有一些验证约束。这些属性没有出现在formType上,当他想检查表单是否有效时会触发约束
  • @Stevan,你能重新表述你的问题以消除混乱吗,Olivier 说得很好。
猜你喜欢
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多