Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 覆盖symfony2上的表单验证消息_Forms_Html_Validation_Symfony - Fatal编程技术网

Forms 覆盖symfony2上的表单验证消息

Forms 覆盖symfony2上的表单验证消息,forms,html,validation,symfony,Forms,Html,Validation,Symfony,如何覆盖symfony2中的表单验证消息。虽然有一个validation.xml文件与模型类相关。我认为它验证了一个基于html5的表单 “请匹配要求的格式”,“请填写此字段”。是否有任何方法覆盖此验证消息 请在这方面帮助我,我已经被困了一天多了,因为我对symfony是全新的您看到的那些消息是由浏览器创建的HTML5验证消息。如果要覆盖它们,则需要将oninvalid属性添加到与该字段关联的输入标记中。您可以通过两种方式执行此操作: 在控制器或表单类型中,将此属性添加到表单字段: $build

如何覆盖symfony2中的表单验证消息。虽然有一个validation.xml文件与模型类相关。我认为它验证了一个基于html5的表单

“请匹配要求的格式”,“请填写此字段”。是否有任何方法覆盖此验证消息


请在这方面帮助我,我已经被困了一天多了,因为我对symfony是全新的

您看到的那些消息是由浏览器创建的HTML5验证消息。如果要覆盖它们,则需要将oninvalid属性添加到与该字段关联的输入标记中。您可以通过两种方式执行此操作:

在控制器或表单类型中,将此属性添加到表单字段:

$builder->add('email', 'email',array(
    'attr'=>array('oninvalid'=>"setCustomValidity('Would you please enter a valid email?')")
));
{{ form_row(form.email, { 'attr': {'oninvalid': "setCustomValidity('Please give me a nice email')"} }) }}
或者,在细枝模板中,在呈现表单字段时添加此属性:

$builder->add('email', 'email',array(
    'attr'=>array('oninvalid'=>"setCustomValidity('Would you please enter a valid email?')")
));
{{ form_row(form.email, { 'attr': {'oninvalid': "setCustomValidity('Please give me a nice email')"} }) }}

声明断言时,您可以使用message选项更改每个验证器的消息:

/**
     * @ORM\Column(type="string", length=255, unique=true)
     * @Assert\NotBlank(
     *     message="You have to choose a username (this is my custom validation message).",
     *     groups={"registration", "account", "oauth"}
     * )

此外,您还可以通过创建文件MyBundle/Resources/translations/validators.fr.xliff来应用翻译。不,他所指的消息是由浏览器创建的HTML5验证消息。该死,我没有看到^^谢谢,这就是我要找的。及时的一个:)但是如果你这样做,你输入了一个无效的电子邮件地址,然后出现了错误,你需要更正电子邮件地址,但是错误仍然会出现。为什么?卡洛斯的回答几乎是正确的,但也有一些问题。请参阅“”以了解解决方法。我收到错误消息“oninvalid”选项不存在