虽然我从未使用过symfony,但我决定用symfony2框架做一个大项目我的第一次冒险。
我创建了一个注册/登录系统,但我遇到了一个小的自定义问题:
正如您在上一个屏幕截图中看到的,有一个Symfony2默认客户端验证器,我想要的是自定义它,更改其样式,外观和翻译英文文本(截图BTW中的法文)使用翻译对象。
这是表格树枝视图的一部分:
<li>
{{ form_errors(registerForm.password,{'attr':{'class' : 'err errx1'}}) }}
{{ form_widget(registerForm.password,{'attr':{'class' : 'inpt mdx2','placeholder':'signup.password'| trans | capitalize}}) }}
</li>
是否有任何文档提供此问题的解决方案?
答案 0 :(得分:1)
实际上,您所看到的是默认的HTML5客户端验证。这与Symfony没有任何关系,除了您可以配置是否需要它。如果您不希望显示此验证消息,则可以在呈现表单时添加以下内容:
{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
如果您只想为特定行禁用它,form_row
也是如此。
请查看The docs了解详情。
如果您想从服务器自定义验证错误,那就更多了。我将提交请求viz ajax,然后使用响应来应用我的自定义验证错误。有几种方法可以做到这一点,只取决于你感到满意。