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

posted @ 2015-11-27 11:49  闻鸡睡觉  阅读(5026)  评论(1编辑  收藏  举报