文档章节

easyui validate 后 使用ajax提交

卯金刀GG
 卯金刀GG
发布于 2016/10/13 18:14
字数 996
阅读 54
收藏 2

继承easyui的default验证,自定义验证规则如下:

(function($){

//计算字符串或者汉字的长度
function getByteLength(s){
	var len = 0;
	for(i=0;i<s.length;i++)
	{
		var c = s.substr(i,1);
		var ts = escape(c);
		if(ts.substring(0,2) == "%u") { len += 2; }
		else if(ts== "%B7") { len += 2; }
		else { len += 1; }
   }//eof:for
   return len;
};

//jquery-easyUI  
$.extend($.fn.validatebox.defaults.rules, {  
	//校验字符输入的限制(只能输入数字和字母)
	lettersandnumericonly:{
		validator:function(value,param){
			return /^[a-zA-Z0-9]+$/i.test(value);
		},
		message:'{0}只能输入数字和字母'
	},
	//只能输入数字
	numericonly:{
		validator:function(value,param){
			return /^[0-9]+$/i.test(value);
		},
		message:'{0}只能输入数字!'
	},
	//只能输入正整数
	positiveInteger:{
		validator:function(value,param){
			return /^[0-9]+$/i.test(value) && parseInt($.trim(value)) > 0;
		},
		message:'{0}只能输入正整数!'
	},
	//只能输入数字(并且有范围)
	numericRange:{
		validator:function(value,param){
			return /^[0-9]+$/i.test(value) && parseInt($.trim(value)) <= param[1];
		},
		message:'{0}只能输入数字,且不能大于{1}'
	},
	oneToTwoInteger:{
		validator:function(value,param){
			return /^[0][[.]\d{1,10}]?$/i.test(value)||/^[1]?$/i.test(value)||/^[0]?$/i.test(value);
		},
		message:'{0}只能输入数字,且在0到1之间'
	},
	//验证(-20-130)的整数
    integerALLKinds : {
        validator : function(value) {
            return /^[-|+]?[0-9]+\d*$/i.test(value) && value >= -20 && value <= 130;
        },
        message : '请输入-20到130的任意整数'
    },
	//判断最长
	maxLength:{
		validator:function(value,param){
			return getByteLength($.trim(value)) <= param[1] ;
		},
		message:'{0}长度不能超过{1}个字符或者{2}个汉字'
	},
	//判断最小长度
	minLength : { 
        validator : function(value, param) {
        	var len = $.trim(value).length;
            return len >= param[0];
        },
        message :'{0}长度最小{1}个字符'
    },
    //判断长度范围
    length:{validator:function(value,param){
        var len=$.trim(value).length;
            return len>=param[0]&&len<=param[1];
        },
        message:"{0}内容长度介于{1}和{2}之间."
    },
    //验证年龄
    age:{
    	validator : function(value) {
    		return  /^[0-9]+$/i.test(value) && parseInt($.trim(value)) >= 0 && value>=0 && value <=150;
        },
        message:'年龄格式不对,请输出0-150之间的数字.'
    },
    //验证电话号码
    phone : {
        validator : function(value) {
            return /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value);
        },
        message : '格式不正确,请使用下面格式:020-88888888'
    },
    //验证手机号码
    mobile : {
        validator : function(value) {
            return /^(13|15|18)\d{9}$/i.test(value);
        },
        message : '手机号码格式不正确(正确格式如:13/15/18*********)'
    },
    //验证手机或电话
    phoneOrMobile:{
        validator : function(value) {
            return /^(13|14|15|17|18)\d{9}$/i.test(value) || /^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$/i.test(value)
            		|| /^\d{8}$/i.test(value);
        },
        message:'请填入手机或电话号码,如13/14/15/17/18*********或020-8888888或88888888'
    },
    //验证身份证
    idcard : {
        validator : function(value) {
            return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value);
        },
        message : '身份证号码格式不正确'
    },
   //验证是否为小数或整数
    floatOrInt : {
        validator : function(value) {
            return /^(\d{1,3}(,\d\d\d)*(\.\d{1,3}(,\d\d\d)*)?|\d+(\.\d+))?$/i.test(value);
        },
        message : '请输入数字,并保证格式正确'
    },
    IntegerOrFloat:{
    	validator:function(value){
    		return /^[0-9]+(\.[0-9]+)?$/i.test(value) ;
    	},
        message : '请输入数值型数据'
    },
    //验证货币
    currency : {
        validator : function(value) {
            return /^d{0,}(\.\d+)?$/i.test(value);
        },
        message : '货币格式不正确'
    },
    //验证整数
    integer : {
        validator : function(value) {
            return /^[+]?[1-9]+\d*$/i.test(value);
        },
        message : '请输入整数'
    },
    //验证中文
    chinese : {
        validator : function(value) {
            return /^[\u0391-\uFFE5]+$/i.test(value);
        },
        message : '请输入中文'
    },
    //验证英语
    english : {
        validator : function(value) {
            return /^[A-Za-z]+$/i.test(value);
        },
        message : '请输入英文'
    },
    //验证是否包含空格和非法字符
    unnormal : {
        validator : function(value) {
            return /.+/i.test(value);
        },
        message : '输入值不能为空和包含其他非法字符'
    },
    //验证邮政编码
    zip : {
        validator : function(value) {
            return /^[1-9]\d{5}$/i.test(value);
        },
        message : '邮政编码格式不正确'
    },
   //验证IP地址
    ip : {
        validator : function(value) {
            return /d+.d+.d+.d+/i.test(value);
        },
        message : 'IP地址格式不正确'
    },
    //email校验
    email:{
        validator : function(value){
        	return /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(value);
        },
    	message : '请输入有效的电子邮件账号(例:abc@126.com)'
    },
    //校验值是否存在  param[0]: table, param[1]: colum, param[2]: add和修改区分,param[3]:修改前的value
    valueExists:{
    	validator : function(value,param){
    		var bool = true;
    		var flag = 0;
    		if(param[2]){
    			if(param[2]=='edit'){
    				if(value == param[3]){
    					flag = 1 ;
    				}
    			}
    		}
    		if(flag == 0){
    			//校验编号是否存在
				$.ajax({
					url:"url ?table="+param[0]+"&colum="+param[1]+"&value="+value,
					type:'post',
					async:false,
					dataType:'json',
					success:function(result){
						var result = eval(result);
						if(result.flag == 0){
							bool = true ;
						}else{
							bool = false;
						}
					}
				});
    		}
        	return bool;
        },
    	message : '当前资源已被占用'
    }
});

})(jQuery)

以上为例子,根据项目需要修改。

1、jsp代码

<form id="gfxwjForm" name="gfxwjForm" action="" method="post" enctype="multipart/form-data"> <div class="win_body_cln_1"> 名&nbsp;&nbsp;称:<input class="easyui-textbox" id="txt_mc" name="txt_mc" data-options="required:true" missingMessage="不能为空!" style="height:30px" value="${zywsptGfxwjb.mc}"> </div>

<input type="button" class="button" id="btn_save" value="保存"/> </form> 2、js代码

$('#btn_save').bind('click', function(){ if(($("#gfxwjForm").form('validate'))) { saveCommonWin(); } });

3、java代码 略

© 著作权归作者所有

卯金刀GG
粉丝 26
博文 266
码字总数 73176
作品 0
昌平
程序员
私信 提问
easyui ajax php

easyui使用ajax 提交数据后,后台获取不到form中的值 First Name: Last Name: Phone: Email: ajax 代码 $('#fm').form('submit',{ url: url, onSubmit: function(){ return $(this).form('va......

peihongda
2013/05/24
618
2
jquery easyui 中的事件问题

easyUI的form表单中有很多种类型的标签,easyui-validate、easyui-textbox、easyui-combox、easyui-datebox、easyUI-datetimebox等等。 在使用easyui-textbox时,想通过onblure()事件做一些处...

wangaowell
2015/03/16
2.2K
1
qury-easyui DataGrid 整合struts2增删查该入门实例(三)

主界面 添加 修改 删除 查询暂时按照单字段id查询 页面主要代码easyDemo1.jsp: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getConte......

一念三千
2012/11/01
2.3K
0
JQuery EasyUi之界面设计——前言与界面效果(一)

如果冯巩的开场白是“观众朋友们,我想死你们了”,那么我的开场白是“最近一直很忙,很久没有发文了”。 前面说过了EXT.NET,这里顺便再说说JQuery EasyUI。为啥我会选择JQuery EasyUI呢?主...

易水寒丶开源
2015/10/27
212
0
关于EasyUI使用tree方法生成树形结构加载两次的问题

html代码中利用class声明了easyui-tree,导致easyUI解析class代码的时候先解析class声明中的easyui-tree这样组件就请求了一次url;然后又调用js初始化代码请求一次url。这样导致了重复加载,解...

Doublec
2015/04/21
4K
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0
从零基础到拿到网易Java实习offer,我做对了哪些事

作为一个非科班小白,我在读研期间基本是自学Java,从一开始几乎零基础,只有一点点数据结构和Java方面的基础,到最终获得网易游戏的Java实习offer,我大概用了半年左右的时间。本文将会讲到...

Java技术江湖
昨天
7
0
程序性能checklist

程序性能checklist

Moks角木
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部