Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery验证方法-验证_Javascript_Jquery_Idealforms - Fatal编程技术网

Javascript jQuery验证方法-验证

Javascript jQuery验证方法-验证,javascript,jquery,idealforms,Javascript,Jquery,Idealforms,由于在idealforms中禁用验证存在问题,我希望以下字段不被验证 邮政编码3,备忘录2,上一年,上一个月 直到当前年的值小于3为止 $(document).ready(function(){ $('#current_year').on("input", function() { var dInput = this.value; console.log(dInput); $('#current_year').text(dInput); $('form.ide

由于在idealforms中禁用验证存在问题,我希望以下字段不被验证

邮政编码3,备忘录2,上一年,上一个月

直到当前年的值小于3为止

$(document).ready(function(){

$('#current_year').on("input", function() {
    var dInput = this.value;
    console.log(dInput);
    $('#current_year').text(dInput);

    $('form.idealforms').idealforms('addRules', {
        'postcode3': ( parseInt( $('#current_year').val() ) < 3) ? 'required' : '',
    });
});



      $('form.idealforms').idealforms({

      silentLoad: false,    

      rules: {
        'postcode2': 'required',
        'memo1': 'required',
        'current_year': 'required',
        'current_month': 'required',
      },


      onSubmit: function(invalid, e) {
        e.preventDefault();
        $('#invalid')
          .show()
          .toggleClass('valid', ! invalid)
          .text(invalid ? (invalid +' invalid fields') : 'All good!');
      }
});
$(文档).ready(函数(){
$(“#当前#年”)。在(“输入”,函数()上{
var dInput=该值;
控制台日志(dInput);
$('本年度')。文本(dInput);
$('form.idealforms').idealforms('addRules'{
“邮政编码3”:(parseInt($(“#当前#年”).val())<3)?“必需”:“,
});
});
$('form.idealforms').idealforms({
silentLoad:false,
规则:{
'邮政编码2':'必需',
“备忘录1”:“必需”,
“当前年份”:“必需”,
“当前月份”:“必需”,
},
onSubmit:函数(无效,e){
e、 预防默认值();
$(“#无效”)
.show()
.toggleClass('有效',!无效)
.text(无效?(无效+无效字段):“一切正常!”;
}
});

假设其余代码是正确的,我认为问题在于
val()
返回的是
字符串,而不是
数字。您需要这样编写表达式

( parseInt( $('#current_year').val() ) < 3 ) : 'required' : '';
因此,您可以这样使用它来更新规则

$('#current_year').on("input", function() {

    $('form.idealforms').idealforms('addRules', {
        'postcode3': ( parseInt( $('#current_year').val() ) < 3) ? 'required' : '',
    });

});
$(“#当前#年”)。在(“输入”,函数(){
$('form.idealforms').idealforms('addRules'{
“邮政编码3”:(parseInt($(“#当前#年”).val())<3)?“必需”:“,
});
});

但在规则中,我没有得到$(“#当前#年”).val(),我只在上面的输入函数(将值插入输入字段)中得到它看起来它没有传递给规则。当我加载页面时,它始终是必需的,并且当前\u年没有值,这是因为一旦声明了规则,它们就不会更改。使用更多代码编辑我的答案。在当前\u年插入值后,使用此新解决方案,我将在步骤1登陆,验证将在步骤4登陆。同样,当切换对于第4步,我看不出与验证有任何区别。你说的第1步和第4步是什么意思?
$('form').idealforms('addRules', {
  'comments': 'required minmax:50:200'
});
$('#current_year').on("input", function() {

    $('form.idealforms').idealforms('addRules', {
        'postcode3': ( parseInt( $('#current_year').val() ) < 3) ? 'required' : '',
    });

});