我对表单字段进行了验证,确定无误。当我点击页面中的元素时,我取值它,把它放到表单字段中,我想将验证中的最小值更改为此值 我试过规则方法,但它看起来不起作用,但没有显示错误
这是我的验证电话
$('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作为最小值,但没有运气
这应该如何运作?
答案 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
});