1. 程式人生 > >Bootstrapvalidator 前端自定義驗證和ajax遠端訪問後端驗證

Bootstrapvalidator 前端自定義驗證和ajax遠端訪問後端驗證

概述

一般的校驗因為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識別
    }