繁体   English   中英

带有参数的JQuery验证引擎中的自定义函数

[英]custom function in JQuery validation engine with arguments

我想为JQuery Validation Engine编写一个新的验证规则。 你似乎所要做的就是编写一个这样的函数:

"myNewRule":
           "func": function(field, rules, i, options){
                //new validation function
           },
           "alertText": "message to be displayed if something goes wrong"
},

现在,有谁知道如何访问字段ID(或名称)或如何传递参数? 我需要验证字段B的值是否小于字段A,因此知道我应该将哪个字段与...进行比较非常重要。

好的,我明白了。

  • 第一个参数(即字段)是一个字段对象,因此可以在其上调用jQuery的方法,例如,使用field.val()来获取字段值。
  • 第二个参数是一个数组,其中包含您为该字段选择的所有规则,它们以逗号分隔,并且此数组不包括括号[]和逗号。
  • i+1为您提供规则开始的规则数组中的位置,如果您有参数,它将非常有用。
  • 最后一个参数包含表单中有关验证规则的所有信息,但您并不真正需要它。

我需要验证字段的值是否大于另一个字段,因此我执行了以下操作:

JavaScript的:

function geThan(field, rules, i, options){
 var a=rules[i+2];
 if(parseFloat(field.val()) < parseFloat( jQuery("#"+a).val() ) ){
   return "Value is smaller than a, and should be greater than or equal to it."
 }
}

和HTML是:

    <input type="text" id="porce_1" name="porce_1" data-validation-engine="validate[required,custom[number],min[0],max[100]]">
    <input type="text" id="porce_2" name="porce_2" data-validation-engine="validate[required,custom[number],min[0],max[100],funcCall[geThan[porce_1]]]">

我没有将我的代码放在插件中,正如我最初想的那样,但是在我的页面的head部分中使用了funcCall

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM