【问题标题】:Customizing a Client-Side Form Validator in Symfony2在 Symfony2 中自定义客户端表单验证器
【发布时间】:2014-01-20 23:20:58
【问题描述】:

虽然我从未使用过 symfony,但我决定将一个大型项目作为我的第一次使用 symfony2 框架的冒险。

我创建了一个注册/登录系统,但我遇到了一个小的自定义问题:

正如你在上一个截图中看到的,有一个 Symfony2 默认客户端验证器,我想要自定义它,改变它的样式,外观,并用英语翻译它的文本(顺便说一句,截图中是法语)使用翻译器对象。

这是表单树枝视图的一部分:

<li>
   {{ form_errors(registerForm.password,{'attr':{'class' : 'err errx1'}}) }}
   {{ form_widget(registerForm.password,{'attr':{'class' : 'inpt mdx2','placeholder':'signup.password'| trans | capitalize}}) }}
        </li>

是否有任何文档可以解决这个问题?

【问题讨论】:

    标签: php symfony customization


    【解决方案1】:

    实际上,您看到的是默认的 HTML5 客户端验证。这与 Symfony 没有任何关系,除了您可以根据需要进行配置之外。如果您不希望出现此验证消息,可以在呈现表单时添加以下内容:

    {{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
    

    form_row 也是如此,如果您只想对特定行禁用它。

    查看The docs 了解更多信息。

    如果您想从服务器自定义验证错误,则需要做更多的工作。我会提交请求即 ajax,然后使用响应来应用我的自定义验证错误。有几种方法可以做到这一点,只取决于你喜欢什么。

    【讨论】:

    • 谢谢,我只是想知道为什么我不能右键单击它以在 firebug 中查看它。实际上,到目前为止,我从未使用过 Html5 功能...+1
    • 所以,我将删除这些验证器,然后根据我的需要自定义服务器端的验证器。毕竟,我在这里不需要客户端验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 2017-04-09
    • 2010-09-05
    • 1970-01-01
    相关资源
    最近更新 更多