接触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;如有疑问,欢迎前往原创评论,共同探讨。