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

时间:2023-03-09 01:11:06
bootstrapValidator多字段联合验证(如开始日期和结束日期中,开始日期不可晚于结束日期)
接触bootstrapvalidator时间不久,最近需要多个字段共同验证,网上查了一下未找到,查阅api文档,发现确实可以实现。

先看dom

<div class="form-group"> <label class="col-sm-3 control-label">起止年限:</label> <div class="col-sm-9 row"> <divclass="col-xs-5"> <div class="input-group"> <input type="text" name="beginYear" class="form-control "/> <spanclass="input-group-addon">年</span> </div> </div> <div class="col-xs-1" style="line-height:36px;"> 至</div> <divclass="col-xs-5"> <div class="input-group"> <input type="text" name="endYear" class="form-control"/> <spanclass="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'); returnparseInt(value)>=parseInt(begin); } } } } }});

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

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