2015-10-30 73 views
2

我可以禁用客戶端驗證(通過jQuery)指定的字段/約束?OroCRM如何禁用客戶端驗證?

我嘗試這樣做: form_widget(form.myField,{'attr':{'data-validation':''}})

,並禁用這兩個客戶端和後端驗證。但我需要禁用前端驗證只

+1

此代碼不能禁用後臺驗證。 什麼是該字段中使用的FormType? –

+0

@HubertLcorche這是一個文本字段 –

+0

您可以禁用您的FormType類中的 「需要驗證」: $建設者 - >添加 ( 'your_field',( '需要'=>假) '文本',陣列) ; –

回答

0

好,感謝你們所有的人。今天奧羅核心團隊開發Hryhorii Hrebiniuk提供正確的解決方案:

所以,如果你想刪除所有的驗證規則,沒有 條件的領域 - 你可以使用這種方法。但有更好的方法。 與數據驗證可選組屬性相同,還有其他有用的 屬性 - 數據驗證忽略。如果任何字段/字段組爲 ,並且包含帶有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> 
3

要停用所有字段的客戶端驗證,嘗試使用:

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

是的,這工作,謝謝。請看下面的答案 - 還有另一種方式,由CRM供應商提供 –