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="width: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="width:132,prompt:‘例如:ZYCC‘,validType:{REGEX:[‘^[A-Za-z]{4}$‘,‘上报地区为4个字母‘]},boxCls:‘uppercase‘" /></li>

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

时间: 2024-10-24 22:06:57

easyui扩展正则验证,函数验证的相关文章

EasyUI 扩展自定义EasyUI校验规则 验证规则(常用的)

例如 校验输入框只能录入0-1000之间 最多有2位小数的数字 表单<input type="text" id="rate" name="rate" required="true" class="easyui-validatebox"  validType="rateCheck[0,1000]"  maxlength="6" /> $.extend($.f

验证控件jQuery Validation Engine调用外部函数验证

在使用jQuery Validation Engine的时候,我们除了使用自带的API之外,还可以自己自定义正则验证.自定义正则验证上一篇已经讲过了,如果想使用自定义函数进行验证怎么办?其实这个控件有个bug,在api中说 也就是在我们需要进行验证的地方加上funcCall[自定义函数名],但是我们会发现总会报错,说找不到你这个函数名.其实它的要求是要添加required进行综合验证,也就是validate[required,funcCall[yorn]],这样它才识别我们的自定义函数.但是我们

JavaScript验证函数大全

1. 长度限制 <script> function test() { if(document.a.b.value.length>50) { alert("不能超过50个字符!"); document.a.b.focus(); return false; } } </script> <form name=a onsubmit="return test()"> <textarea name="b" co

PHP验证函数(包括email,url,日期等等)

<?php /** * [email protected] zouhao * 一些验证方法 */ /** * 是否是手机号码 * * @param string $phone 手机号码 * @return boolean */ function is_phone($phone) { if (strlen ( $phone ) != 11 || ! preg_match ( '/^1[3|4|5|8][0-9]\d{4,8}$/', $phone )) { return false; } else

正则 表单验证

电话号码验证 案例<fieldset> <legend>正则表单验证</legend> <form action method="post" target="_self" onsubmit="return checkform();"> <input name id="telephone" type="text" msg> <input nam

Jquery Easyui框架中常用的验证

对于validatebox空间,验证其输入字符长度的最大值是否超出数据库中设置的字段长度.方法如下: 1 /** 2 * 验证输入字符长度 3 */ 4 $.extend($.fn.validatebox.defaults.rules, { 5 maxLength: { 6 validator: function(value, param){ 7 if(value.length >= param[0]) { 8 // showMsg("输入信息长度不能超过"+ param[0]

HTML5时代的纯前端上传图片预览及严格图片格式验证函数(转载)

原文地址:http://www.2cto.com/kf/201401/274752.html 一.要解决什么样的问题? 在写这个函数之前,有们童鞋在群里问如何纯前端严格验证图片格式.这在html5时代之前,那是不可能实现的,必须要上传到后台,由后台脚本读取文本流后进一步验证.这样就造成了一定的服务器资源浪费.但是html5时代,这个工作我们完全可以交给前端来做了. 另一方面,html5时代,许多我们原来的图片预览方案都失效了.究其原因,其实是现代浏览器出于对用户隐私的保护,file控件不再提供真

空对象模式和扩展方法的NULL验证

using System;using System.Collections.Generic;using System.Linq;using System.Text;//空对象模式和扩展方法的NULL验证namespace Chap2_3{ public class NULLObject { public void Test() { Promation promation = PromationFactory.Create("水果促销"); Promation promation1 =

easyui取消表单时验证,提交时统一验证

1.设置表单不验证 <form id="ff" class="easyui-form" method="post" data-options="novalidate:true"></form> 2.表单提交时统一验证$('#ff').form('submit',{                onSubmit:function(){                    return $(this).