validateEngine 自定于带有参数的验证方法

    自定义validateEngine带有参数的验证方法,其中有一个是通过外部的function调用,官网有详细介绍,这里就不啰嗦了。

    

funcCallvalidate[funcCall[functionName]]调用外部函数验证

functionName(field, rules, i, options)

    另一种方法进行修改jquery.validateEngine.js方法,首先在验证规则中添加你定义的规则名称,如numberRange[int,int]表示验证小数的整数部分长度以及小数精度。

1>在_validityProp里面加上要验证的属性

"numberRange": "range-overflow",

2>在_validateField方法中添加rules规则validate。

case "numberRange":
   errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i,
    options, methods._numberRange);
   break;

   3>添加_numberRange方法以及_numberRegex方法

/**
 * Checks number range
 *
 * @param {jqObject} first field name
 * @param {jqObject} second field name
 * @return an error string if validation failed
 */
_numberRange: function (field, rules, i, options) {
   var _int = parseFloat(rules[i + 1]);
   var _digit = parseFloat(rules[i + 2]);
   if(_int < 1 || _digit < 1){
      return options.allrules[rules[i]].alertText+_int+options.allrules[rules[i]].alertText2
      +_digit+options.allrules[rules[i]].alertText3;
   }
   if (!methods._numberRegex(field.val(),_int,_digit)) {
      return options.allrules[rules[i]].alertText+_int+options.allrules[rules[i]].alertText2
      +_digit+options.allrules[rules[i]].alertText3;
   }
},
_numberRegex: function (value,_int, _digit) {
   var values = value.split(".");
   var intRegEx = new RegExp(/^\d+$/);
   if(parseFloat(values[0].length) <= 0 || parseFloat(values[0].length) > _int){
      return false;
   }
   if(values[1]){
      if(parseFloat(values[1].length) <= 0 || parseFloat(values[1].length) > _digit)
      {
         return false;
      }
      if(!intRegEx.test(values[1]))
      {
         return false;
      }
   }
   return intRegEx.test(values[0]);
},

  4>在jquery.validationEngine-zh_CN.js  添加提示的验证信息

"numberRange": {
    "regex": "none",
    "alertText": "* 无效的数值(",
    "alertText2": ",",
    "alertText3": ")",
}

    5>在JSP中class中直接写入就可以验证了

class="validate[numberRange[1,2]]"


转载于:https://my.oschina.net/felixfly/blog/541965

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值