2016-02-22 51 views
0

我有管理員有部分預填充爲他們的客戶的一種形式。停止Rails的client_side_validations上/編輯

當客戶端登錄時,他們被要求填寫在某些領域。 Client_side_validations自動以紅色突出顯示空白字段,解釋這些字段(「不能爲空」)。

這通常是期望的行爲,因爲模型是部分填充的,但在這種情況下,我不希望client_side_validations觸發,直到用戶從有問題的字段進/出焦點後,或者嘗試過保存不完整的表格。如何確保client_side_validations在頁面加載時不會關閉?

回答

1

你可以在你的頁面加載,通過JavaScript(使用的document.ready例如)關閉客戶端驗證和輸入/輸出

$(form).disableClientSideValidations(); 

焦點重新啓用它們並啓用:

$(form).enableClientSideValidations(); 

你也可以致電單獨的輸入字段disableClientSideValidationsenableClientSideValidations不是整個表格

1

我認爲你需要改變你的應用程序的體系結構,可以使複雜的驗證,以視動扳機,但這將是一個爛攤子,你最好開始使用表單對象,所以你有你的模型,並在其他類,形成具有自己驗證的特定對象。

https://robots.thoughtbot.com/activemodel-form-objects

您也可以使用mixin的模塊納入驗證在執行的時候,你想他們,而不是讓他們在模型中硬編碼。

相關問題