文档章节

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

FelixFly
 FelixFly
发布于 2015/12/10 13:02
字数 395
阅读 70
收藏 0

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

    

funcCall validate[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]]"


© 著作权归作者所有

共有 人打赏支持
FelixFly
粉丝 4
博文 4
码字总数 1331
作品 0
合肥
高级程序员
validateengine验证问题

@我心悠悠 你好,想跟你请教个问题:我用validateengine做验证,我点击submit按钮提交时,异步验证不起作用,不知道如何解决,谢谢

zhuhuawu
2016/10/21
55
0
keta-custom 3.1.0 发布,通用定制化平台

keta-custom(原keta-security)是一个通用的定制化平台,解决了在web程序再开发过程中遇见的通用功能重复,界面风格迥异;安全无保障,质量无保 障等问题。该平台使用了maven作为项目管理,使...

小菜的粉丝
2013/07/24
2.1K
0
Simple Cloud API 简介

最近发布的 Simple Cloud API 为各种云服务提供了一个共用的 API。在 Zend、GoGrid、IBM®、Microsoft®、Nirvanix 和 Rackspace 的合作努力下,API 使您能够编写出可移植的并可与多个云供应...

绿悠悠
2009/11/11
2.2K
0
Java程序员从笨鸟到菜鸟之(六十六)细谈struts2(十二)struts2国际化底层大揭秘

Struts2的博客在前不久已经停止了,但是里面还有很多内容我们都还没接触到,所以现在我们在补充一下struts2的内容。这篇博客我们主要是一块来看一下struts2内对国际化的支持。在了解struts2...

长平狐
2012/11/12
95
0
用enum 代替int (30)

1、int 枚举模式 在类型安全性和使用方便性没有任何帮助 apple 和orange 之间比较,编译器不会有任何警告报出 十分脆弱,编译枚举时常量,编译到使用他们的客户端(int关联发生变化需要重新编...

职业搬砖20年
06/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

C++ gflags

gflags是google一个开源的处理命令行参数的库,相比getopt,更加容易使用。 定义参数 gflags主要支持的参数类型包括 DEFINEbool: boolean DEFINEint32: 32-bit integer DEFINEint64: 64-bit ...

SibylY
32分钟前
0
0
intellij IDEA Properties中文unicode转码问题

在IDEA中创建了properties文件,发现默认中文不会自动进行unicode转码。如下 在project settings - File Encoding,在标红的选项上打上勾,确定即可 效果图如下: unicode转码后效果...

muzi1994
32分钟前
0
0
Java IO类库之PipedWriter

一、PipedWriter介绍 PipedWriter是字符管道输出流,继承自Writer,功能与PipedOutputStream类似,通过与PipedReader组合使用实现类似管道的功能,在多线程环境下,一个线程使用PipedWriter...

老韭菜
36分钟前
0
0
精简分页组件(手写)

需要引入CSS(没错就是这4行) .pagelist { text-align: center; color: #666; width: 100%; clear: both; margin: 20px 0; padding-top: 20px }.pagelist a { color: #666; margin: 0 2px;......

AK灬
37分钟前
3
0
29 岁成为阿里巴巴 P8,工作前 5 年完成晋升 3 连跳,他如何做到?

泡泡是我的好朋友。今年 31 岁,毕业后就进了阿里巴巴,工作五年内从 P4 晋升至 P6、P7、P8。 和他很少聊到工作,但总觉得他有很棒的职场心得,应该分享出来,于是有了这次采访。希望对职场新...

Java填坑之路
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部