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 如何禁用客户端验证?的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 Ktor 客户端 SSL 验证?

单击复选框时,如何在单个字段上使用 jquery 禁用客户端验证?

使用 jQuery 启用/禁用特定“验证组”中的 asp.net 验证控件?

禁用/删除 Kendo mvc 验证器

当页面验证失败时,如何禁用我的 ASP.NET AJAX ConfirmButtonExtender?

启用使用 jquery 禁用 asp.net 验证控件