OroCRM 如何禁用客户端验证?
Posted
技术标签:
【中文标题】OroCRM 如何禁用客户端验证?【英文标题】:OroCRM how to disable client side validation? 【发布时间】:2016-01-30 13:53:28 【问题描述】:我可以为指定的字段/约束禁用客户端验证(通过 jQuery)吗?
我试过这个:
form_widget(form.myField,'attr':'data-validation':'')
它禁用了客户端和后端验证。但我只需要禁用前端验证
【问题讨论】:
此代码无法禁用后端验证。该字段使用的 FormType 是什么? @HubertLcorche 这是一个文本字段 您可以在 FormType 类中禁用“需要验证器”: $builder ->add('your_field', 'text', array('required' => false)) ; @HubertLcorche 是的,我知道'required'
参数。但是在 OroCRM 中有一个 jQuery Validator Plugin 可以将 Symfony 约束转换为前端(如正则表达式、长度和其他约束)
github.com/orocrm/platform/blob/master/src/Oro/Bundle/…
【参考方案1】:
要停用所有字段的客户端验证,请尝试使用:
form_start(form, 'attr': 'novalidate': '' )
【讨论】:
是的,成功了,谢谢。请在下面查看我的答案 - CRM 供应商提供了另一种方法【参考方案2】:好的,谢谢大家。今天,Oro Core 团队开发人员 Hryhorii Hrebiniuk 提供了一个正确的解决方案:
所以,如果你想删除没有字段的所有验证规则 条件——你可以使用这种方法。但是有更好的方法。 与 data-validation-optional-group 属性相同,还有其他有用的 属性 — 数据验证忽略。如果任何字段/字段组是 包裹在具有 data-validation-ignore 属性的元素中,前端 验证器忽略此字段/字段组的验证规则。你 可以在运行时添加/删除此属性以更改验证 行为。
OroCRM 论坛主题:http://www.orocrm.com/forums/topic/is-it-possible-to-inherit-frontend-validation
例如:
# this wrapper div disables front-end jQuery Validate validation #
<div data-validation-ignore>
form_widget(form.field1)
form_widget(form.field2)
form_widget(form.field3)
...
form_widget(form.fieldN)
</div>
【讨论】:
以上是关于OroCRM 如何禁用客户端验证?的主要内容,如果未能解决你的问题,请参考以下文章
单击复选框时,如何在单个字段上使用 jquery 禁用客户端验证?
使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?