在JQuery中动态设置输入验证范围

时间:2011-12-06 17:16:43

标签: javascript jquery jquery-autocomplete jquery-validate

提前感谢您对此的看法。 :-)

表单验证本身适用于只需要字段的其他项目 - 这没有问题。

我正在尝试动态设置自动完成验证的数值范围 我正在使用bassistance.de找到JQuery验证here

在select时,我正在调用一个函数,但它需要添加到.validate()代码而不是它自己的函数(我认为),但现在确定如何组合它们。 自动完成是一个通用函数,由多个输入调用。

<script>
   $().ready(function() {
       // validate the form when it is submitted
       $("#form4100").validate();
   });
</script>
<script>
function Autocomplete(numberLocation,nameLocation,dscLocation,chargeLocation,amountLocation) {
    select: function( event, ui ) {          
            $(numberLocation).val( ui.item.value );
            $(nameLocation).html( ui.item.desc );                     
            alert("Minimum Investment: "+ui.item.minimum);
            setvalidation(amountLocation,ui.item.minimum);
            return false;
    }        
}

function setvalidation(amountLocation,minimum){
    alert("validation function launched");
    amountLocation.validate({
      rules: {
        field: {
          required: true,
          range: [minimum, 5000000]
        }
      }
    });    
}
</script>

谢谢!

1 个答案:

答案 0 :(得分:3)

我发现(在阅读验证插件上的文档之后)有一个.rules add方法。所以.select可以调用这个函数:

function setvalidation(amountLocation,minimum){
    amountLocation.rules("add",{
                  required: true,
                  range: [minimum, 5000000],
                  messages: {
                      range: "$ "+minimum + " Minimum"
                 }                             
    }); 
}