Bootstrapvalidator 前端自定義驗證和ajax遠端訪問後端驗證
阿新 • • 發佈:2019-01-29
概述
一般的校驗因為demo寫的很詳細了,所以就不多說了下面介紹兩個比較重要的擴充套件
重點
1.前端自定義驗證
"rowkey": {
message: 'rowkey驗證失敗',
validators: {
stringLength:{
max: 1000,
message: 'rowkey不能超過1000個字元'
},
callback:{
callback : function(value, validator, $field) {
if ($('input:radio[name="databaseType"]:checked').val() == "Hbase" &&
value == ""){
return {
valid: false,
message: 'rowkey不能為空'
}
}
else{
return true
}
}
}
}
}
2.ajax後端自定義驗證、
前端:
"tableName": {
message: '表名稱驗證失敗',
validators: {
notEmpty: {
message: '表名稱不能為空'
},
stringLength:{
max: 100,
message: '表名稱不能超過100個字元'
},
remote : {
message: '表名重複',
url: 'check',
data : '',//這裡預設會傳遞該驗證欄位的值到後端
delay:2000 //這裡特別要說明,必須要加此屬性,否則使用者輸入一個字就會訪問後臺一次,會消耗大量的系統資源,
}
}
},
後端:
//檢測新增metaTableName是否重複
def check(){
def map = new HashMap()
def result = service.check(params.name)
if(result){
map.put("valid",true)
}else{
map.put("valid",false)
}
render(map as JSON) //注意後端傳到前端的格式必須是帶有valid屬性的json物件才會被validator識別
}