Symfony表单类型添加表单类型验证不起作用

时间:2017-11-29 14:30:30

标签: php forms symfony validation

我正在使用Symfony 3.3并将表单类型添加到另一种表单类型:

public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('document', DocumentType::class);
...
}

正确处理所有表单字段,但验证无效/未完成。我曾尝试将validation_groups添加到表单类型,但仍然没有更改任何内容。当我单独使用DocumentType时,验证工作正常。

当我将表单类型添加到另一种表单类型时,如何添加验证器?

我必须在add DocumenType

时设置参数

如果我有你的想法会很好!

谢谢,最好!

2 个答案:

答案 0 :(得分:0)

您必须使用'cascade_validation' => true,

$builder->add('document', DocumentType::class, [
    'cascade_validation' => true,
]);

$resolver->setDefaults(array(            
    'cascade_validation' => true,
));

答案 1 :(得分:0)

  • 如何在将表单类型添加到其他表单类型时添加验证程序?

你可以试试这个......

使用Symfony \ Component \ Validator \ Constraints \ NotBlank;

$builder->add('document', DocumentType::class, [
    'constraints' => new NotBlank(),
]);

更多详情Here

如果这不是你的目的,那就试试吧 Custom Validation Constraint

  • 添加DocumentType时是否必须设置参数?

在添加DocumentType

时,您没有设置参数

查看此官方链接Custom Form Field Type