この記事では、bootstrapValidator が範囲の最大値と最小値を検証する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
[関連する推奨事項: "bootstrap チュートリアル"]
検証のために値 bootstrapValidator の最大値と最小値を入力しますしたがって、最小値は最大値より大きくすることはできず、最大値は最小値より小さくすることはできません。
最初の検証はまだ問題なく、通常の検証ルールに準拠しています
次に、ルールに従わないものを追加します。最大値が変更されました。現在、最小値は最大値より小さいですが、最大値は検証に合格していません。これは、最小値の検証は最小値ボックスの内容が変化した場合のみ行われ、最大値ボックスの内容は変化していないため検証は行われません。 #1 つの方法は、このメソッドをコールバックに追加してこのフィールドを再検証することですが、検証する必要がある 2 つのメソッドを両方とも追加する必要があるため、無限ループが発生し、
//从新验证该字段 $('#form').data('bootstrapValidator').revalidateField('nMax');
値を取得できます。 2 つのフィールドを自分で調べて手動で比較します。検証ルールが満たされたら、フィールドの検証ステータスを手動で変更します。
$('#form').data('bootstrapValidator').updateStatus("nMax", "VALID", null );
$("#form").bootstrapValidator({ message: 'This value is not valid', feedbackIcons: { valid: 'glyphicon glyphicon-ok', invalid: 'glyphicon glyphicon-remove', validating: 'glyphicon glyphicon-refresh' }, fields: { nMin:{ validators:{ notEmpty:{ message:'最小值不能为空' }, regexp: { regexp: /^[0-9._]+$/, message: '请输入有效的值' }, callback: { message: '最小值不可大于最大值', callback: function(value, validator) { if(value != ''){ var nMax = $("#form").data("bootstrapValidator").getFieldElements('nMax'); if(nMax.val()!='' && Number(nMax.val()) < Number(value)){ return false; }else if(nMax.val()!='' && Number(nMax.val()) > Number(value)){ //从新验证该字段 //$('#form').data('bootstrapValidator').revalidateField('nMax'); //当符合规则手动修改该字段的验证状态 /* 因为上面方法两个字段相互验证 ,会造成死循环,所以在两个字段比较之后,并且符合验证规则,就手动修改该字段的验证状态 */ $('#form').data('bootstrapValidator').updateStatus("nMax", "VALID", null ); return true; }else if(nMax.val()==''){ return true; }else{ return true; } }else{ return true; { } } } }, nMax:{ validators:{ notEmpty:{ message:'最大值不能为空' }, regexp: { regexp: /^[0-9._]+$/, message: '请输入有效的值' }, callback: { message: '最大值不可小于最小值', callback: function(value, validator) { if(value != ''){ var nMin = $("#form").data("bootstrapValidator").getFieldElements('nMin'); if(nMin.val()!='' && Number(nMin.val())>Number(value)){ return false; }else if(nMin.val()!='' && Number(nMin.val()) ログイン後にコピー
nMin:{ validators:{ notEmpty:{ message:"最小值不能为空" }, regexp: { regexp: /^[0-9._]+$/, message: '请输入有效的值' }, callback: { callback: function(value, validator) { var nSetVal = $("#form").data("bootstrapValidator").getFieldElements('nSetVal'); var nMax = $("#form").data("bootstrapValidator").getFieldElements('nMax'); //最小值大于设定值 if( nSetVal.val()!='' && Number(nSetVal.val()) < Number(value) ){ return { message:'最小值不可大于设定值', flag:false }; //最小值大于最大值 }else if( nMax.val()!='' && Number(nMax.val()) < Number(value) ){ $('#form').data('bootstrapValidator').updateStatus("nSetVal", "VALID", null ); return { message:'最小值不可大于最大值', flag:false }; //最小值 小于 设定值 }else if( nSetVal.val()!='' && Number(nSetVal.val()) >= Number(value) ){ if( Number(nMax.val()) < Number(value) ){ $('#form').data('bootstrapValidator').updateStatus("nMax", "VALID", null ); return { message:'最小值不可大于最大值', flag:false }; //最小值 小于设定值 小于最大值 符合全部要求 }else if( nMax.val()!='' && Number(nMax.val()) >= Number(value) && Number(nMax.val()) >= Number(nSetVal.val()) ){ $('#form').data('bootstrapValidator').updateStatus("nSetVal", "VALID", null ); $('#form').data('bootstrapValidator').updateStatus("nMax", "VALID", null ); return true; //最小值 小于设定值 大于最大值 }else{ return true; } }else{ return true; } } } } }, nSetVal:{ validators:{ notEmpty:{ message:'设定值不能为空' }, regexp: { regexp: /^[0-9._]+$/, message: '请输入有效的值' }, callback: { callback: function(value, validator) { var nMin = $("#form").data("bootstrapValidator").getFieldElements('nMin'); var nMax = $("#form").data("bootstrapValidator").getFieldElements('nMax'); //设定值小于最小值 if( nMin.val()!='' && Number(nMin.val()) > Number(value) ){ return { message:'设定值不可小于最小值', flag:false }; //设定值 大于 最大值 }else if( nMax.val()!='' && Number(nMax.val()) < Number(value) ){ $('#form').data('bootstrapValidator').updateStatus("nMin", "VALID", null ); return { message:'设定值不可大于最大值', flag:false }; //设定值 小于 最大值 }else if( nMax.val()!='' && Number(nMax.val()) >= Number(value) ){ if( nMin.val()!='' && Number(nMin.val()) > Number(value)){ $('#form').data('bootstrapValidator').updateStatus("nMax", "VALID", null ); return { message:'设定值不可小于最小值', flag:false }; //设定值 大于最小值 小于最大值 符合全部要求 }else if( nMin.val()!='' && Number(nMin.val()) <= Number(value) && Number(nMax.val()) >= Number(value) ){ $('#form').data('bootstrapValidator').updateStatus("nMax", "VALID", null ); $('#form').data('bootstrapValidator').updateStatus("nMin", "VALID", null ); return true; }else{ return true; } }else{ return true; } } } } }, nMax:{ validators:{ notEmpty:{ message:"最大值不能为空" }, regexp: { regexp: /^[0-9._]+$/, message: '请输入有效的值' }, callback: { callback: function(value, validator) { var nMin = $("#form").data("bootstrapValidator").getFieldElements('nMin'); var nSetVal = $("#form").data("bootstrapValidator").getFieldElements('nSetVal'); //最小值大于最大值 if( nMin.val()!='' && Number(nMin.val()) > Number(value) ){ return { message:'最大值不可小于最小值', flag:false }; //设定值 大于 最大值 }else if( nSetVal.val()!='' && Number(nSetVal.val()) > Number(value) ){ $('#form').data('bootstrapValidator').updateStatus("nMin", "VALID", null ); return { message:'最大值不可小于设定值', flag:false }; //最小值 小于 最大值 }else if( nMin.val()!='' && Number(nMin.val()) <= Number(value) ){ if(nSetVal.val()!='' && Number(nSetVal.val()) > Number(value)){ $('#form').data('bootstrapValidator').updateStatus("nMin", "VALID", null ); return { message:'最大值不可小于设定值', flag:false }; //最小值 小于最大值 设定值 小于最大值 符合全部要求 }else if( nSetVal.val()!='' && Number(nSetVal.val()) <= Number(value) && Number(nSetVal.val()) >= Number(nMin.val()) ){ $('#form').data('bootstrapValidator').updateStatus("nSetVal", "VALID", null ); $('#form').data('bootstrapValidator').updateStatus("nMin", "VALID", null ); return true; //最小值 小于最大值 设定值 大于最大值 }else{ return true; } }else{ return true; } } } } }
//不为空验证 notEmpty: { message: '必须输入或者必须选择' } //正整数验证 digits : { message : '字段必须是正整数' } //内容最小值验证 greaterThan: { value : 1, message : '最小输入1' } //内容最大值验证 lessThan: { value : 100 message : '最大输入100' } //正则验证 regexp: { regexp: /^[a-zA-Z0-9_]+$/, message: '正则验证,这里验证只能输入大小写字母数字和下划线' } //内容长度验证 stringLength : { min : 2, max : 25, message : '长度2-25位字符' } //回调验证 callback: { message: '请输入整数', callback: function(value, validator) { //可以return true / false //return false; //也可以这样 return { message:'最小值不可大于最大值', flag:false }; } } //日期验证 date: { format: 'YYYY/MM/DD', message: '日期无效' } //数字验证 digits: { message: '该值只能包含数字。' } //ajax验证 threshold : 6 , //有6字符以上才发送ajax请求,(input中输入一个字符,插件会向服务器发送一次,设置限制,6字符以上才开始) remote: {//ajax验证。server result:{"valid",true or false} 向服务发送当前input name值,获得一个json数据。例表示正确:{"valid",true} url: 'exist2.do',//验证地址 message: '用户已存在',//提示消息 delay : 2000,//每输入一个字符,就发ajax请求,服务器压力还是太大,设置2秒发送一次ajax(默认输入一个字符,提交一次,服务器压力太大) type: 'POST'//请求方式 } //复选框验证 choice: { min: 2, max: 4, message: '请选择2-4项' } //密码确认 identical: { field: 'confirmPassword', message: 'The password and its confirm are not the same' }
プログラミング ビデオ
をご覧ください。 !以上がbootstrapValidator が最大制限と最小制限を検証する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。