您好,我有一个 Symfony 5 表单,对我的字段有约束,我对长度的约束工作得很好,但 NotBlank 不正确。我有一个“类型”和“标签”字段,我正在测试表单和“类型”的约束,如果我用“类型”为空验证表单,它会显示默认的浏览器消息“请填写此字段”而我希望拥有在实体中为“NotBlank”约束定义的自定义消息。
我认为问题是由“required => true”引起的,因为如果我将其更改为“false”并添加“empty_data => ''”,它就可以工作,我可以看到我的自定义消息,但不完全是因为在在我的修改表单中,如果我清空“类型”字段并进行验证,它将出现以下消息:预期参数类型为“字符串”,在属性路径“类型”处给出“空”。
我正在使用 Symfony 5、Bootstrap 5,这是我的实体、我的 twig 表单和我的 FormType.php
实体
/**
* @ORM\Column(type="string", length=255)
* @Assert\Length(
* min = 2,
* max = 50,
* minMessage = "Le type doit faire au minimum {{ limit }} caractères",
* maxMessage = "Le type doit faire au maximum {{ limit }} caractères"
* )
* @Assert\NotBlank(
* message = "Le type est un champ obligatoire"
* )
*/
private $type;
树枝形态
{{ form_start(form) }}
{{form_label(form.type)}}
{{form_errors(form.type)}}
{{form_widget(form.type)}}
{{form_label(form.description)}}
{{form_widget(form.description)}}
{{form_errors(form.description)}}
{{form_label(form.statut)}}
{{form_widget(form.statut)}}
{{ form_end(form) }}
表单类型.php
$builder
->add('type', TextType::class, [
'required' => true,
'label' => 'Type',
])
请帮忙!
我查看了一些论坛,我尝试使用“novalidate”,但它返回相同的错误消息,我真的很想保留“required => true”并设法获得我的自定义消息“此字段不能为空”。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号