jquery验证动态更改最小值

时间:2016-03-07 12:05:56

标签: jquery jquery-validate

我对表单字段进行了验证,确定无误。当我点击页面中的元素时,我取值它,把它放到表单字段中,我想将验证中的最小值更改为此值 我试过规则方法,但它看起来不起作用,但没有显示错误

这是我的验证电话

$('form').validate({
lang: 'sk',
rules: {
  'payment[amount]': {
    min: 1
  }
},
highlight: function(element) {
  $(element).parent().addClass('state-error');
},
unhighlight: function(element) {
  $(element).parent().removeClass('state-error');
}

});

这是我点击元素

时运行的函数
 $( "rewardbox" ).click(function() {
  $val = $( this ).children("amount").text();
  $num = parseInt($val);
  $("#payment_amount").val($num);
  $('html, body').animate({ scrollTop: 0 }, 'slow');

  $( "#form" ).rules( "remove", "min" );
  $("#form").rules("add", {
      'payment[amount]':{
      min: function ()  { return $("#payment_amount").val()  }
    }
  });
});

我试图直接把我的变量$ num作为最小值,但没有运气

这应该如何运作?

2 个答案:

答案 0 :(得分:0)

您是否在点击功能后放置了验证..

我的意思是

$(document).ready(function(){

// click function (in click function append required value to a hidden field)

// then add validation (in validation min: function ()  { return $("#payment_amount").val()  } this will work )

});

答案 1 :(得分:0)

使用.rules()方法时,它不会附加form元素。它只会附加到您附加新规则的input字段。

由于您将.rules()附加到输入本身,因此您不会在其中声明输入名称。根据文档,只需添加或删除key:value对规则和/或自定义messages对象。

$("#payment_amount").rules("remove", "min");
$("#payment_amount").rules("add", {
    min: 2 
});

Please refer to usage examples in the documentation