当前位置: 首页 > 知识库问答 >
问题:

覆盖symfony2上的表单验证消息

蔡宏大
2023-03-14

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

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

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

共有2个答案

孙凌
2023-03-14

声明断言时,您可以使用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

解宏扬
2023-03-14

您看到的这些消息是由浏览器创建的HTML5验证消息。如果您想重写它们,您需要向与该字段关联的输入标记添加一个无效属性。你可以通过两种方式做到这一点:

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

$builder->add('email', 'email',array(
    'attr'=>array('oninvalid'=>"setCustomValidity('Would you please enter a valid email?')")
));

或者,在您的twig模板中,在呈现表单字段时添加此属性:

{{ form_row(form.email, { 'attr': {'oninvalid': "setCustomValidity('Please give me a nice email')"} }) }}
 类似资料:
  • 本文向大家介绍覆盖HTML5验证,包括了覆盖HTML5验证的使用技巧和注意事项,需要的朋友参考一下 要忽略HTML验证,可以使用JavaScript删除单击按钮时的属性。 您必须从每个匹配的元素中删除一个属性。

  • 我想覆盖服务器faces web应用程序中的默认Hibernate验证程序消息,因此我阅读了这部分文档:https://docs.jboss.org/hibernate/validator/5.0/reference/en-US/html/chapter-message-interpolation.html#section-消息插值 我在文件夹中创建了两个文件:和。文件内容为: 我使用的是德语版本

  • 这里有人知道如何在安装过程中覆盖验证消息吗。 我希望能够在安装期间$('form')。parsley()更改/定义验证消息,例如: data parsley required message=“一些相关的自定义消息” 我希望将该字段分配给所有验证,因此如果该字段设置为必需,它将显示自定义消息作为默认值。 提前感谢8-)

  • 我有以下资料: 我需要覆盖所有jsf所需验证的输入组件消息。 默认值:"登录:验证错误。Vous Devez Indiquer une Valur。" 自定义:“登录:est要求。” 我已经在com中创建了一个属性文件。应用程序。包含以下行的foo命名消息: 此外,我已在faces配置中注册了它,如下所示: 但我仍然得到了默认的必需验证消息。

  • 我有一个mongodb文档,我已经把它变成了一个表单。该文档有两个emebedOne文档,它们也是表单。正在验证主文档,但未验证嵌入文档。我正在使用自定义断言,但我认为这不重要。 文档 嵌入式类对此的自定义断言永远不会调用。 形式 处理程序 谢谢你的帮助。 科里

  • 我试图让我的javascript验证电话号码输入,并在用户输入信息不正确时显示消息。我还设置了另外两个输入,所以我复制了其中一个,并用phoneNumber替换了名称,但没有结果。没有HTML的替代品,请它是我必须使用我的评估。 这里我只包含了电话号码输入的代码。http://jsfiddle.net/29ZNV/ 超文本标记语言 JAVASCRIPT