zoukankan      html  css  js  c++  java
  • easyui扩展正则验证,函数验证

       用easyui做业务系统,对于默认的几个验证规则,肯定是不够的,难免会增加几种规则。可是问题来了,往往是我们在开发会遇到很多各种各样的验证,时间久了才发现,这些扩展的正则无非就是添加一个正则验证规则,那我为啥不将正则放到前端呢?想到这个说干就干,于是有了REGEX这个验证规则,愉快的调用几次后,感觉这功能还不错,心里贼爽了下。一段时间后,发现有些验证居然还和数据业务有关系,这下问题又来,难道我又要些一堆的规则!到底能不能象我的正则验证一样统一呢。果不其然,在苦思冥想半小时后,我这FUN验证规则浮出水面。

     //自定义正则验证
        REGEX: {
            validator: function (value, param) {
                var regex = param[0];
                var re = new RegExp(regex);
                return re.test(value);
            },
            message: '{1}'
        },
        //自定义函数验证
        FUN: {
            validator: function (value, param) {
                var fun = param[0];
                if ($.isFunction(fun)) {
                    return fun(value);
                }
                return true;
            },
            message: '{1}'
        },
    

      解释一下,$.extend($.fn.validatebox.defaults.rules,{}),这里可以扩展很多规则,当然现在又了 REGEX 和 FUN 规则,感觉可以不用写其他的规则了,小小满足一下。

    哇,功能这么强大,那我要怎么使用呢?

       FUN:

      <label for="F_FPSL" class="input_lable ">发票税率(%)</label><input type="text" name="F_FPSL" class="easyui-textbox input_box" data-options="107,prompt:'多个税率逗号隔开',validType:{FUN:[Jsdwxx.validatafpsl,'发票税率只能录入数字']}" />
    

      REGEX:

     <label for="F_SBDQ" class="input_lable ">上报地区</label><input type="text" name="F_SBDQ" class="easyui-textbox input_box" data-options="132,prompt:'例如:ZYCC',validType:{REGEX:['^[A-Za-z]{4}$','上报地区为4个字母']},boxCls:'uppercase'" /></li>
    

     PS:规则中 {0},{1},{...}和前台定义REGEX:[0,1,...]一一对应

  • 相关阅读:
    基本数据类型与其包装类型
    String与常量池(JDK1.8)
    数据库知识归纳(面试向)
    HashMap、ConcurrentHashMap以及HashTable(面试向)
    Java多线程基础(面试向)
    Java的类加载
    Sql语句的一些事(二)
    RUBY惯用方法(转)
    Ruby中区分运行来源的方法(转)
    ruby安装devkit
  • 原文地址:https://www.cnblogs.com/yfrs/p/4748522.html
Copyright © 2011-2022 走看看