你的位置:首页 > Java教程

[Java教程]bootstrapValidator多字段联合验证(如开始日期和结束日期中,开始日期不可晚于结束日期)


接触bootstrapvalidator时间不久,最近需要多个字段共同验证,网上查了一下未找到,查阅api文档,发现确实可以实现。

先看dom

<div class="form-group">  <label class="col-sm-3 control-label">起止年限:</label>  <div class="col-sm-9 row">    <div class="col-xs-5">      <div class="input-group">        <input type="text" name="beginYear" class="form-control "/>        <span class="input-group-addon">年</span>      </div>    </div>    <div class="col-xs-1" style="line-height:36px;"> 至</div>    <div class="col-xs-5">      <div class="input-group">        <input type="text" name="endYear" class="form-control"/>        <span class="input-group-addon">年</span>      </div>    </div>  </div></div

在这个表单中,我们往往需要开始年份不能晚于结束年份,及beginYear<=endYear,此时,验证我们可以这样写

 fields: {      beginYear: {        validators: {          integer: {},          callback: {            message: '开始日期不能大于结束日期',            callback:function(value, validator,$field,options){              var begin = $('#pro_info').find("input[name='endYear']").val();              return parseInt(value)<=parseInt(begin);            }          }        }      },      endYear: {        validators: {          integer: {},          callback: {            message: '结束日期不能小于开始日期',            callback:function(value, validator,$field){              var begin = $('#pro_info').find("input[name='beginYear']").val();              $('#pro_info').find("input[name='beginYear']").keypress();              validator.updateStatus('beginYear', 'VALID');              return parseInt(value)>=parseInt(begin);            }          }        }      }    }  });

主要是利用callback函数,传入参数validator验证器,利用验证器更新指定字段的状态。这样就可以实现多字段联合验证,当然,三个字段、四个字段也是如此。

转载请注明出处,博客园:http://www.cnblogs.com/dreamowneryong/p/5000206.html;如有疑问,欢迎前往原创评论,共同探讨。