我們知道有幾個插件可以在HTML表單上使用jQuery執行驗證。使用「驗證規則」驗證「運行時JSON數組」
我們使用jQuery Datatables,使用DataTables Editor進行內聯編輯。
https://editor.datatables.net/examples/api/clientValidation.html
的問題是各行提交,並在每一行是可編輯的幾個領域的時候,我們真的不想繼續寫「的if-else」的條件來驗證所有可能的編輯列。
當用戶編輯細胞,我們得到的是一個JSON名值陣列(當前行數據),例如在這種格式,
var rowData = {
fld_name1: "value1",
fld_name2: "value2",
fld_name3: "value3"
fld_name4: "value4"
fld_name5: "value5"
}
要檢查,如果我們能養活這個數組任何驗證規則陣列,用於通過jQuery驗證插件使用例如格式,https://jqueryvalidation.org/files/demo/
rules: {
fld_name1: "required",
fld_name2: "required",
fld_name3: {
required: true,
minlength: 2
},
fld_name4: {
required: true,
minlength: 5
},
fld_name5: "required"
},
,並檢查當前的「rowData」驗證好與「規則」陣列定義的規則。
這裏「rowData」數組是動態數組,爲Datatable中的每個行創建了一個單獨的實例。
此外,HTML FORM元素(文本字段)由jQuery Datatables Editor動態生成。所以不要選擇在jQuery驗證插件上設置表單類型init。
我很擅長使用任何可以提供此運行時數組驗證功能的jQuery驗證。
JQuery的數據表編輯器動態生成的飛行輸入表單域及相關信息。沒有包裝表單,因此我們可以調用.validate()。即使嘗試這樣做,它也會對現有數據表編輯器邏輯/偵聽器產生其他干擾。 將JSON數組(ROW數據)與驗證規則進行匹配的簡單解決方案。正在檢查此行中的解決方案,它可以匹配來自「rowData」和「rules」的規則,併爲與「rowData」中的數據不匹配或具有錯誤的規則輸出任何驗證消息。 – mike39
問題在於要求爲「rowData」(動態JSON命名數組)與「規則」(預定義的驗證規則)匹配的解決方案。 不確定爲什麼問題被降級。我試圖找到解決實際問題的解決方案(「比較JSON命名數組」到「驗證規則」),而不重新開發所有驗證規則。 JQuery驗證插件似乎已經完成了對不同驗證組合的所有研究。公開功能不僅用於比較表單,而且還用於比較Dynamic JSON(Key:Value Pair)數組將使其成爲更加動態和實用的實用程序插件。 – mike39