【发布时间】: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();
}
}
【问题讨论】:
-
你能提供你的实体和你的FormType吗?
-
问题不清楚,但是你看看这个symfony.com/doc/current/reference/constraints/… 来验证自定义行为。
标签: php validation symfony symfony-forms