easyui校验封装

来源:互联网 发布:什么是数据与信息 编辑:程序博客网 时间:2024/06/06 17:29
$(function(){/*************************可直接调用的校验方法***************************///不为空函数notNull = function(id, msg){$('#'+id).validatebox({required: true,missingMessage: msg});}//重复函数reapet = function(id, re_id, msg){id = '#'+id;$('#'+re_id).validatebox({validType: "reapet['"+id+"','"+msg+"']"});};//数字number = function(id, msg){$('#'+id).validatebox({validType: 'number["'+msg+'"]'});};//手机号码cellPhone = function(id, msg){$('#'+id).validatebox({validType: 'cellPhone["'+msg+'"]'});};//电话号码phone = function(id, msg){$('#'+id).validatebox({validType: 'phone["'+msg+'"]'});};//邮箱email = function(id,msg){$('#'+id).validatebox({validType: 'email',invalidMessage: msg});};//urlurl = function(id, msg){$('#'+id).validatebox({validType: 'url',invalidMessage: msg});};//ipip = function(id, msg){$('#'+id).validatebox({validType: 'ip["'+msg+'"]'});};/** * 提交后台进行唯一性校验 * @param id:校验元素的id,url: 提交的地址,paramName: 传入值的参数名称 */unique = function(id, url, paramName){        $('#'+id).validatebox({            validType: 'unique["'+url+'","'+id+'","'+paramName+'"]'        });};//提交,数据无效时阻止提交form = function(id, url){ $("#"+id).form({url: url,onSubmit: function(){   return $(this).form('validate');},success: function(data){alert(data);}   });};/*************************不为空校验 required="true"********************************///在HMTL标签中加入required="true"可进行不能为空校验$("*").each(function(){if($(this).attr('required')){$(this).validatebox({required: true,missingMessage: '不能为空'});}});//当使用struts标签时,加入属性required="true"能过下面代码实现不能为空校验//注意:struts标签需用label $('span').each(function(){//遍历所有span标签,检验是否设有class="required"if($(this).attr('class')=='required'){$("#"+$(this).parent().attr('for')).validatebox({required: true,missingMessage: '不能为空'});}});/*************************自定义方法********************************//** *自定义的校验方法(校验两次密码是否相同) * @param param为传入第一次输入的密码框的id * @call repeat['#id'] */$.extend($.fn.validatebox.defaults.rules,{reapet: {validator: function(value, param){var pwd = $(param[0]).attr('value'); if(pwd != value){return false;}return true;},message: '{1}'}});//利用正则进行数字校验$.extend($.fn.validatebox.defaults.rules, {    number: {        validator: function(value, param){           return /^-?(?:/d+|/d{1,3}(?:,/d{3})+)(?:/./d+)?$/.test(value);       },       message: '{0}'    }});//手机号$.extend($.fn.validatebox.defaults.rules,{cellPhone: {validator: function(value, param){return /^0{0,1}(13[4-9]|15[7-9]|15[0-2]|18[7-8])[0-9]{8}$/.test(value);},message: '{0}'}});/** * 电话号码 * 匹配格式:11位手机号码 * 3-4位区号,7-8位直播号码,1-4位分机号 * 如:12345678901、1234-12345678-1234 */$.extend($.fn.validatebox.defaults.rules,{phone: {validator: function(value, param){return /(/d{11})|^((/d{7,8})|(/d{4}|/d{3})-(/d{7,8})|(/d{4}|/d{3})-(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1})|(/d{7,8})-(/d{4}|/d{3}|/d{2}|/d{1}))$/.test(value);},message: '{0}'}});//ip校验$.extend($.fn.validatebox.defaults.rules,{ip: {validator: function(value, param){return /^((2[0-4]/d|25[0-5]|[01]?/d/d?)/.){3}(2[0-4]/d|25[0-5]|[01]?/d/d?)$/.test(value);},message: '{0}'}});//唯一性校验$.extend($.fn.validatebox.defaults.rules,{unique: {validator: function(value, param){value = $('#'+param[1]).attr('value');$('#'+param[1]).load(param[0]+"?"+param[2]+"="+value,function(responseText, textStatus, XMLHttpRequest){if(responseText) //后台返回true或者falsereturn true;});return false;},message: '用户名已存在'}});});

html:

<mce:script type="text/javascript" src="javascripts/functionpoint/validate.js" mce_src="javascripts/functionpoint/validate.js"></mce:script><mce:script type="text/javascript"><!--$(function(){notNull('age','年龄不能为空');reapet('password','repassword','两次输入不相同');number('age','只能为数字');cellPhone('phone','手机号格式不正确');phone('phone','电话号码格式不正确');email('email','邮箱格式不正确');unique('username','unique.html','name');form('form','user_regist.html');});// --></mce:script></head><body><center><s:form method="post" action="" theme="xhtml" id="form"><s:textfield name="user.userName" id="username" label="用户名" required="true" onblur=""/><s:password name="user.password" id="password" label="密码" required="true"/><s:password name="user.password" id="repassword" label="再次输入密码" required="true"/><s:radio list="#{1:'男',0:'女'}" name="user.sex" value="1" label="性别"/><s:textfield name="user.age" id="age" label="年龄" /><s:textfield name="user.email" label="Email" id="email" required="true"/><s:textfield name="user.phone" id="phone" required="true" label="电话号码"/><s:textfield name="user.address" label="地址" required="true"/><tr><td colspan="2" align="center"><s:submit value="保存" theme="simple"/><s:reset value="取消" theme="simple"/></td></tr></s:form></center>


0 0
原创粉丝点击