bootstrap-validator

使用bootstrap-validator挺多的,雖然本身寫認證並不複雜,我一貫喜歡現成的控件,緣由是風格一致,不容易出錯。java

這個是接口文檔:http://bv.doc.javake.cn/settings/bootstrap

有時候須要本身寫認證: 這裏面涉及兩個字段之間的聯合認證。(因爲這個聯合驗證是驗證兩個字段非一致,而callback函數則是針對某個字段驗證的,因此某個字段改變會致使兩個字段都進行驗證。)函數

自定義一個觸發條件onvalid,當兩個字段之間任何一個改變,就會觸發兩個字段的驗證。spa

 
 
$('#dropdownMenu1').on("onvalid");
$('#dropdownMenu2').on("onvalid");
 
 
$('#dropdownMenu1').onchange(function(){  
$('#dropdownMenu1').trigger("onvalid")
 
$('#dropdownMenu2').trigger("onvalid")

})
 
 
$('#dropdownMenu2').onchange(function(){  
$('#dropdownMenu1').trigger("onvalid")
  $('#dropdownMenu2').trigger("onvalid")
})

$('#form1').bootstrapValidator({
fields: {

endpointA_sub: {
selector: '#dropdownMenu1',
message: '',
trigger:'onvalid',
validators: {
callback: {
message: '請選擇節點',
callback:function(value, validator){
if ($('#dropdownMenu2').attr('value')!="")
return ($('#dropdownMenu1').attr('value')!=$('#dropdownMenu2').attr('value') && value!=="")
else
return value!==""
}
}
}

},
endpointB_sub: {
selector: '#dropdownMenu2',
message: '',
trigger:'onvalid',
validators: {
callback: {
message: '請選擇節點',
callback:function(value, validator){
if ($('#dropdownMenu1').attr('value')!="")
return ($('#dropdownMenu1').attr('value')!=$('#dropdownMenu2').attr('value') && value!=="")
else
return value!==""
}
}
}
},

    }
});
相關文章
相關標籤/搜索