最近在公司做業務系統后台,用的js框架還是jquery ui框架 是以bootstrap為基礎的beyondadmin-v1.4.s3這套,用起來還挺不錯,所以公司所有的后台ui都使用這套。這套ui框架表單驗證也使用的是bootstrap validate這個插件,比較流行的。文檔和教程都還挺多的。功能比較齊全,擴展性也很好。
這次碰到問題就是 產品中的 有個關於房產的成數范圍問題,如果最大值和最小值都不填的話,不做校驗,但是如果填了最小值就一定要有最大值,后台是這么校驗的,但是前端並不這么校驗,前端對最大值最小值沒有必填的校驗,而這套框架前端校驗如果通過的話,第二次在點提交按鈕就會disabled,這樣會給用戶帶來一個困擾就是不知如下進行下一步做提交事件,所以我就一直想辦法怎么解決這個問題,試了很多種方法。
我試着是判斷最小值,如果最小值存在,則給最大值的值的輸入框添加必填的attr屬性,但是並沒有效果。沒有提示用戶最大值必填。
也試着在在校驗方法校驗這兩個值大小,也沒有效果
最后我想到的就是一個比較猥瑣而暴力的方法就是 當后台校驗不成功,我就重新校驗表單,這樣就不會讓提交按鈕disabled ,讓用戶繼續操作。
關鍵代碼:
$(".form-horizontal").data("bootstrapValidator").resetForm();
但其實這樣感覺也不太友好,后續還是想直接校驗在對應的位置上,提示用戶哪里要填寫