簡體   English   中英

阻止Rails client_side_validations在/ edit上加載

[英]Stop Rails client_side_validations from loading on /edit

我有一個表單,其中部分內容是管理員為客戶預先填寫的。

客戶端登錄時,要求他們填寫某些字段。 Client_side_validations自動以紅色突出顯示空白字段,並說明這些字段(“不能為空”)。

這通常是所需的行為,因為已部分填充了模型,但在這種情況下,我不希望client_side_validations觸發,直到用戶將焦點移入或移出相關字段或試圖保存不完整的字段為止形成。 如何確保頁面加載時client_side_validations不關閉?

我認為您需要更改應用程序的體系結構,可以根據操作進行復雜的驗證以進行觸發,但這很麻煩,您最好開始使用表單對象,因此您需要模型和其他類具有自己驗證的特定對象。

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

您也可以在需要時使用混合模塊在執行時合並驗證,而不必在模型中進行硬編碼。

您可以在頁面加載時通過javascript(例如,使用document.ready)關閉客戶端驗證,然后再次將其重新啟用以進行焦點移入/移出

$(form).disableClientSideValidations();

並啟用:

$(form).enableClientSideValidations();

您還可以在單​​獨的輸入字段(而不是整個表單)上調用disableClientSideValidationsenableClientSideValidations

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM