文档章节

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

FelixFly
 FelixFly
发布于 2015/12/10 13:02
字数 395
阅读 97
收藏 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
64
0
keta-custom 3.1.0 发布,通用定制化平台

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

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

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

绿悠悠
2009/11/11
2.3K
0
支付宝集成——如何在回调地址中使用自定义参数(加了参数会导致签名验证失败or如何带上自己的参数)

转自:http://www.solagirl.net/use-custom-para-in-alipay-return-url.html/comment-page-1 支付宝集成时,有同步返回地址returnurl和异步通知地址notifyurl,这两个地址中的参数与签名验证...

风一样的世界
2014/12/19
0
0
Spring Security 基于表达式的权限控制

前言 已经可以使用表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式 描述 ) 用...

小致dad
08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

windows10小鹤双拼注册表

《安全第一》直接发文本内容,自己建文本,改文本后缀reg。 使用方法: 1.复制下示文本内容,打开你的文本编辑器(#记事本notepad或其他++),粘贴文本内容并保存在任意位置(不影响使用) ...

漫步海边小路
3分钟前
0
0
一、数据挖掘

数据挖掘的发展动力---需要是发明之母 数据爆炸问题 自动数据收集工具和成熟的数据库技术使得大量的数据被收集,存储在数据库、数据仓库或其他信息库中以待分析。我们拥有丰富的数据,但却缺...

凯文加内特
6分钟前
0
0
Java线程池ThreadPoolExecutor

线程池 ThreadPoolExecutor 线程池是ExecutorService的实现,可以通过Executors执行工厂构造不同类型的执行服务(线程池)。 ThreadPoolExecutor线程池使用的是阻塞队列BlockingQueue。 用于...

器石_
7分钟前
0
0
Mybatis 实现SQL拦截并在控制台打印SQL和参数

注:可以拦截sql 执行时间,优化sql。并打印sql 以及参数 第一步:创建类: SqlPrintInterceptor 并实现 Interceptor 该类如下: package com.ra.common.plugin;import org.apache.ibati...

轻量级赤影
10分钟前
1
0
Log4j2 配置

config: <?xml version="1.0" encoding="UTF-8"?><!-- http://logging.apache.org/log4j/2.x/manual/appenders.html --><!-- status 负责打印日记系统的 WARN 级别以及以上的日记 --><C......

Credo-Zhao
10分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部