2016-03-07 126 views
0

我有驗證表單域的工作正常。當我點擊頁面中的元素時,我將它的值,放到表單字段中,並且我想將驗證中的最小值更改爲此值 我試過規則方法,但它看起來不起作用,但沒有顯示錯誤jquery驗證動態更改最小值

這是我的驗證電話

$('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

有你放置驗證點擊功能後..

我的意思是

$(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) 

}); 
+0

這不工作要麼 –

+0

給一個jsfiddle – Shiva

+0

http://jsfiddle.net/medashiva/5RrGa/1633/試試這個 – Shiva

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