1. 程式人生 > >12 月隨筆之 bootstrapValidator 驗證框架與 layui 時間外掛相容

12 月隨筆之 bootstrapValidator 驗證框架與 layui 時間外掛相容

此文章的目的是針對特定欄位(需要時間外掛的欄位),進行特定的驗證。

問題:當我加上 layui 的 laydate 時候,驗證不會通過。

解決辦法:經過網上的資料,並進行數次測試,laydate 載入時間時候,雖然你點選日期了,但是 bootstrapValidator 驗證卻是紅叉叉,原因是 laydate 載入日期賦值給 input 在 bootstrapValidator 驗證之後,所以在點選時間外掛之後進行二次特定欄位驗證即可。

下面貼一下我的程式碼

1、CSS

Bootstrap v3.1.1 (http://getbootstrap.com)

BootstrapValidator (http://bootstrapvalidator.com)

2、JS (基於 Bootstrap v3.1.1 (http://getbootstrap.com))

3、bootstrapValidator 驗證必須加 'group' 組

4、新增驗證器。這裡多說一句 bootstrapValidator 的驗證器指向的是 name 屬性,並且支援 bean.屬性名。

(我的這個欄位是 String,資料庫對應的也是 VARCHAR,方便做 Webservice 傳輸資料,這裡面僅僅只是需要新增一個時間控制元件)

5、進行二次指定驗證

(這張圖片的意思是:

根據 ID 找到那個特定的 input,

當失去焦點時進行驗證。

設定延時發生 js function(){ 根據 ID 找到你要驗證的 form 表單.資料驗證.二次驗證.驗證器名字 }

延時時間為 200 ms

 

 

原理:當 layui 的時間外掛點選時,它實際上會發生在 bootstrapValidator 驗證器之後,所以它第一遍驗證會通不過。所以加個延時,1000 為 1S,可根據具體需要進行更改。並且我的這個 input 給的是 readonly 屬性,只可以進行點選時間外掛,不可以手寫