接触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;如有疑问,欢迎前往原创评论,共同探讨。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。