- {
- field : 'startPort',
- title : "起始端口",
- editor: "text",
- width : 50,
- editor: {
- type: 'SuperValidatebox',
- options: {
- required: true,
- validType: ['integer','length[0,5]']
- }
- },
- 自从1.3.2版本开始,validatebox自身已经支持多重校验了,例如:
- input class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']">
{ field : 'startPort', title : "起始端口", editor: "text", width : 50, editor: { type: 'SuperValidatebox', options: { required: true, validType: ['integer','length[0,5]'] } }, 自从1.3.2版本开始,validatebox自身已经支持多重校验了,例如: input class="easyui-validatebox" data-options="required:true,validType:['email','length[0,20]']">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <script src="easyui1.2.4/jquery-1.6.min.js" type="text/javascript"></script>
- <script src="easyui1.2.4/jquery.easyui.min.js" type="text/javascript"></script>
- <!--自定义验证-->
- <script src="easyui1.2.4/validator.js" type="text/javascript"></script>
- <link href="easyui1.2.4/themes/default/easyui.css" rel="stylesheet" type="text/css" />
- <script>
- $(function () {
- //设置text需要验证
- $('input[type=text]').validatebox();
- })
- </script>
- </head>
- <body>
- 邮箱验证:<input type="text" validtype="email" required="true" missingMessage="不能为空" invalidMessage="邮箱格式不正确" /><br />
- 网址验证:<input type="text" validtype="url" invalidMessage="url格式不正确[http://www.example.com]" /><br />
- 长度验证:<input type="text" validtype="length[8,20]" invalidMessage="有效长度8-20" /><br />
- 手机验证:<input type="text" validtype="mobile" /><br />
- 邮编验证:<input type="text" validtype="zipcode" /><br />
- 账号验证:<input type="text" validtype="account[8,20]" /><br />
- 汉子验证:<input type="text" validtype="CHS" /><br />
- 远程验证:<input type="text" validtype="remote['checkname.aspx','name']" invalidMessage="用户名已存在"/>
- </body>
- </html>
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <script src="easyui1.2.4/jquery-1.6.min.js" type="text/javascript"></script> <script src="easyui1.2.4/jquery.easyui.min.js" type="text/javascript"></script> <!--自定义验证--> <script src="easyui1.2.4/validator.js" type="text/javascript"></script> <link href="easyui1.2.4/themes/default/easyui.css" rel="stylesheet" type="text/css" /> <script> $(function () { //设置text需要验证 $('input[type=text]').validatebox(); }) </script> </head> <body> 邮箱验证:<input type="text" validtype="email" required="true" missingMessage="不能为空" invalidMessage="邮箱格式不正确" /><br /> 网址验证:<input type="text" validtype="url" invalidMessage="url格式不正确[http://www.example.com]" /><br /> 长度验证:<input type="text" validtype="length[8,20]" invalidMessage="有效长度8-20" /><br /> 手机验证:<input type="text" validtype="mobile" /><br /> 邮编验证:<input type="text" validtype="zipcode" /><br /> 账号验证:<input type="text" validtype="account[8,20]" /><br /> 汉子验证:<input type="text" validtype="CHS" /><br /> 远程验证:<input type="text" validtype="remote['checkname.aspx','name']" invalidMessage="用户名已存在"/> </body> </html>
自定义验证:
- //扩展easyui表单的验证
- $.extend($.fn.validatebox.defaults.rules, {
- //验证汉子
- CHS: {
- validator: function (value) {
- return /^[\u0391-\uFFE5]+$/.test(value);
- },
- message: '只能输入汉字'
- },
- //移动手机号码验证
- mobile: {//value值为文本框中的值
- validator: function (value) {
- var reg = /^[||||]\d{}$/;
- return reg.test(value);
- },
- message: '输入手机号码格式不准确.'
- },
- //国内邮编验证
- zipcode: {
- validator: function (value) {
- var reg = /^[-]\d{}$/;
- return reg.test(value);
- },
- message: '邮编必须是非0开始的6位数字.'
- },
- //用户账号验证(只能包括 _ 数字 字母)
- account: {//param的值为[]中值
- validator: function (value, param) {
- if (value.length < param[] || value.length > param[]) {
- $.fn.validatebox.defaults.rules.account.message = '用户名长度必须在' + param[] + '至' + param[] + '范围';
- return false;
- } else {
- if (!/^[\w]+$/.test(value)) {
- $.fn.validatebox.defaults.rules.account.message = '用户名只能数字、字母、下划线组成.';
- return false;
- } else {
- return true;
- }
- }
- }, message: ''
- }
- })
//扩展easyui表单的验证 $.extend($.fn.validatebox.defaults.rules, { //验证汉子 CHS: { validator: function (value) { return /^[\u0391-\uFFE5]+$/.test(value); }, message: '只能输入汉字' }, //移动手机号码验证 mobile: {//value值为文本框中的值 validator: function (value) { var reg = /^1[3|4|5|8|9]\d{9}$/; return reg.test(value); }, message: '输入手机号码格式不准确.' }, //国内邮编验证 zipcode: { validator: function (value) { var reg = /^[1-9]\d{5}$/; return reg.test(value); }, message: '邮编必须是非0开始的6位数字.' }, //用户账号验证(只能包括 _ 数字 字母) account: {//param的值为[]中值 validator: function (value, param) { if (value.length < param[0] || value.length > param[1]) { $.fn.validatebox.defaults.rules.account.message = '用户名长度必须在' + param[0] + '至' + param[1] + '范围'; return false; } else { if (!/^[\w]+$/.test(value)) { $.fn.validatebox.defaults.rules.account.message = '用户名只能数字、字母、下划线组成.'; return false; } else { return true; } } }, message: '' } })
- $.extend($.fn.validatebox.defaults.rules, {
- checkWSDL: {
- validator: function(value,param){
- var reg = "^(http://|([0-9]{1,3}[.]{1}[0-9]{1,3}[.]{1}[0-9]{1,3}[.]{1}[0-9]{1,3}:[0-9]{1,4}))[/a-zA-Z0-9._%&:=(),?+]*[?]{1}wsdl$";
- return reg.test(value);
- },
- message: '请输入合法的WSDL地址'
- },
- checkIp : {// 验证IP地址
- validator : function(value) {
- var reg = /^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))$/ ;
- return reg.test(value);
- },
- message : 'IP地址格式不正确'
- }
- });
$.extend($.fn.validatebox.defaults.rules, { checkWSDL: { validator: function(value,param){ var reg = "^(http://|([0-9]{1,3}[.]{1}[0-9]{1,3}[.]{1}[0-9]{1,3}[.]{1}[0-9]{1,3}:[0-9]{1,4}))[/a-zA-Z0-9._%&:=(),?+]*[?]{1}wsdl$"; return reg.test(value); }, message: '请输入合法的WSDL地址' }, checkIp : {// 验证IP地址 validator : function(value) { var reg = /^((1?\d?\d|(2([0-4]\d|5[0-5])))\.){3}(1?\d?\d|(2([0-4]\d|5[0-5])))$/ ; return reg.test(value); }, message : 'IP地址格式不正确' } });
=================================
- $.extend($.fn.validatebox.defaults.rules, {
- selectValueRequired: {
- validator: function(value,param){
- if (value == "" || value.indexOf('请选择') >= ) {
- return false;
- }else {
- return true;
- }
- },
- message: '该下拉框为必选项'
- }
- });
$.extend($.fn.validatebox.defaults.rules, { selectValueRequired: { validator: function(value,param){ if (value == "" || value.indexOf('请选择') >= 0) { return false; }else { return true; } }, message: '该下拉框为必选项' } });
- <select id="serviceType" name="serviceType" style="width: 150px" class="easyui-combobox" required="true" validType="selectValueRequired"></select>
<select id="serviceType" name="serviceType" style="width: 150px" class="easyui-combobox" required="true" validType="selectValueRequired"></select>
===================================
Remote:远程验证
Easyui validatebox修改
http://blog.csdn.net/qlh2863/article/details/7269689
http://www.cnblogs.com/qiancheng509/archive/2012/11/23/2783700.html
http://blog.csdn.net/dyllove98/article/details/8866711
自己代码:
- equalTo : {
- validator : function(value, param) {
- return $("#" + param[]).val() == value;
- },
- message : '两次输入的密码不一致!'
- },
- checkPassword :{
- validator : function(value,param){
- var sysUser = {};
- var flag ;
- sysUser.userPassword = value;
- $.ajax({
- url : root + 'login/checkPwd.do',
- type : 'POST',
- timeout : ,
- data:sysUser,
- async: false,
- success : function(data, textStatus, jqXHR) {
- if (data == "0") {
- flag = true;
- }else{
- flag = false;
- }
- }
- });
- if(flag){
- $("#userPassword").removeClass('validatebox-invalid');
- }
- return flag;
- },
- message: '原始密码输入错误!'
- }
equalTo : { validator : function(value, param) { return $("#" + param[0]).val() == value; }, message : '两次输入的密码不一致!' }, checkPassword :{ validator : function(value,param){ var sysUser = {}; var flag ; sysUser.userPassword = value; $.ajax({ url : root + 'login/checkPwd.do', type : 'POST', timeout : 60000, data:sysUser, async: false, success : function(data, textStatus, jqXHR) { if (data == "0") { flag = true; }else{ flag = false; } } }); if(flag){ $("#userPassword").removeClass('validatebox-invalid'); } return flag; }, message: '原始密码输入错误!' }
- <table cellpadding="0" align="center" style="width: 98%; height: 98%; text-align: right;">
- <tr>
- <td>请输入原密码:</td>
- <td style="text-align: left; padding-left: 10px;"><input type="password" id="userPassword" name="userPassword" class="easyui-validatebox"
- data-options="required:true" validType="checkPassword"/>
- </td>
- </tr>
- <tr>
- <td>请输入新密码:</td>
- <td style="text-align: left; padding-left: 10px;"><input type="password" id="newPassword" name="newPassword" class="easyui-validatebox"
- data-options="required:true" />
- </td>
- </tr>
- <tr>
- <td>请确认输入新密码:</td>
- <td style="text-align: left; padding-left: 10px;"><input type="password" id="reNewPassword" name="reNewPassword"
- class="easyui-validatebox" data-options="required:true" validType="equalTo['newPassword']" />
- </td>
- </tr>
- </table>
<table cellpadding="0" align="center" style="width: 98%; height: 98%; text-align: right;"> <tr> <td>请输入原密码:</td> <td style="text-align: left; padding-left: 10px;"><input type="password" id="userPassword" name="userPassword" class="easyui-validatebox" data-options="required:true" validType="checkPassword"/> </td> </tr> <tr> <td>请输入新密码:</td> <td style="text-align: left; padding-left: 10px;"><input type="password" id="newPassword" name="newPassword" class="easyui-validatebox" data-options="required:true" /> </td> </tr> <tr> <td>请确认输入新密码:</td> <td style="text-align: left; padding-left: 10px;"><input type="password" id="reNewPassword" name="reNewPassword" class="easyui-validatebox" data-options="required:true" validType="equalTo['newPassword']" /> </td> </tr> </table>
====================================================================================
- /**
- * 扩展easyui的validator插件rules,支持更多类型验证
- */
- $.extend($.fn.validatebox.defaults.rules, {
- minLength : { // 判断最小长度
- validator : function(value, param) {
- return value.length >= param[0];
- },
- message : '最少输入 {0} 个字符'
- },
- length : { // 长度
- validator : function(value, param) {
- var len = $.trim(value).length;
- return len >= param[0] && len <= param[1];
- },
- message : "输入内容长度必须介于{0}和{1}之间"
- },
- 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 : '手机号码格式不正确'
- },
- phoneAndMobile : {// 电话号码或手机号码
- 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) || /^(13|15|18)\d{9}$/i.test(value);
- },
- message : '电话号码或手机号码格式不正确'
- },
- idcard : {// 验证身份证
- validator : function(value) {
- return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value) || /^\d{18}(\d{2}[A-Za-z0-9])?$/i.test(value);
- },
- message : '身份证号码格式不正确'
- },
- intOrFloat : {// 验证整数或小数
- validator : function(value) {
- return /^\d+(\.\d+)?$/i.test(value);
- },
- message : '请输入数字,并确保格式正确'
- },
- currency : {// 验证货币
- validator : function(value) {
- return /^\d+(\.\d+)?$/i.test(value);
- },
- message : '货币格式不正确'
- },
- qq : {// 验证QQ,从10000开始
- validator : function(value) {
- return /^[1-9]\d{4,9}$/i.test(value);
- },
- message : 'QQ号码格式不正确'
- },
- integer : {// 验证整数
- validator : function(value) {
- return /^[+]?[1-9]+\d*$/i.test(value);
- },
- message : '请输入整数'
- },
- chinese : {// 验证中文
- validator : function(value) {
- return /^[\u0391-\uFFE5]+$/i.test(value);
- },
- message : '请输入中文'
- },
- chineseAndLength : {// 验证中文及长度
- validator : function(value) {
- var len = $.trim(value).length;
- if (len >= param[0] && len <= param[1]) {
- return /^[\u0391-\uFFE5]+$/i.test(value);
- }
- },
- message : '请输入中文'
- },
- english : {// 验证英语
- validator : function(value) {
- return /^[A-Za-z]+$/i.test(value);
- },
- message : '请输入英文'
- },
- englishAndLength : {// 验证英语及长度
- validator : function(value, param) {
- var len = $.trim(value).length;
- if (len >= param[0] && len <= param[1]) {
- return /^[A-Za-z]+$/i.test(value);
- }
- },
- message : '请输入英文'
- },
- englishUpperCase : {// 验证英语大写
- validator : function(value) {
- return /^[A-Z]+$/.test(value);
- },
- message : '请输入大写英文'
- },
- unnormal : {// 验证是否包含空格和非法字符
- validator : function(value) {
- return /.+/i.test(value);
- },
- message : '输入值不能为空和包含其他非法字符'
- },
- username : {// 验证用户名
- validator : function(value) {
- return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value);
- },
- message : '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)'
- },
- faxno : {// 验证传真
- 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 : '传真号码不正确'
- },
- 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地址格式不正确'
- },
- name : {// 验证姓名,可以是中文或英文
- validator : function(value) {
- return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
- },
- message : '请输入姓名'
- },
- engOrChinese : {// 可以是中文或英文
- validator : function(value) {
- return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
- },
- message : '请输入中文'
- },
- engOrChineseAndLength : {// 可以是中文或英文
- validator : function(value) {
- var len = $.trim(value).length;
- if (len >= param[0] && len <= param[1]) {
- return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value);
- }
- },
- message : '请输入中文或英文'
- },
- carNo : {
- validator : function(value) {
- return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value);
- },
- message : '车牌号码无效(例:粤B12350)'
- },
- carenergin : {
- validator : function(value) {
- return /^[a-zA-Z0-9]{16}$/.test(value);
- },
- message : '发动机型号无效(例:FG6H012345654584)'
- },
- same : {
- validator : function(value, param) {
- if ($("#" + param[0]).val() != "" && value != "") {
- return $("#" + param[0]).val() == value;
- } else {
- return true;
- }
- },
- message : '两次输入的密码不一致!'
- }
- });
- /**
- * 扩展easyui validatebox的两个方法.移除验证和还原验证
- */
- $.extend($.fn.validatebox.methods, {
- remove : function(jq, newposition) {
- return jq.each(function() {
- $(this).removeClass("validatebox-text validatebox-invalid").unbind('focus.validatebox').unbind('blur.validatebox');
- // remove tip
- // $(this).validatebox('hideTip', this);
- });
- },
- reduce : function(jq, newposition) {
- return jq.each(function() {
- var opt = $(this).data().validatebox.options;
- $(this).addClass("validatebox-text").validatebox(opt);
- // $(this).validatebox('validateTip', this);
- });
- },
- validateTip : function(jq) {
- jq = jq[0];
- var opts = $.data(jq, "validatebox").options;
- var tip = $.data(jq, "validatebox").tip;
- var box = $(jq);
- var value = box.val();
- function setTipMessage(msg) {
- $.data(jq, "validatebox").message = msg;
- };
- var disabled = box.attr("disabled");
- if (disabled == true || disabled == "true") {
- return true;
- }
- if (opts.required) {
- if (value == "") {
- box.addClass("validatebox-invalid");
- setTipMessage(opts.missingMessage);
- $(jq).validatebox('showTip', jq);
- return false;
- }
- }
- if (opts.validType) {
- var result = /([a-zA-Z_]+)(.*)/.exec(opts.validType);
- var rule = opts.rules[result[1]];
- if (value && rule) {
- var param = eval(result[2]);
- if (!rule["validator"](value, param)) {
- box.addClass("validatebox-invalid");
- var message = rule["message"];
- if (param) {
- for (var i = 0; i < param.length; i++) {
- message = message.replace(new RegExp("\\{" + i + "\\}", "g"), param[i]);
- }
- }
- setTipMessage(opts.invalidMessage || message);
- $(jq).validatebox('showTip', jq);
- return false;
- }
- }
- }
- box.removeClass("validatebox-invalid");
- $(jq).validatebox('hideTip', jq);
- return true;
- },
- showTip : function(jq) {
- jq = jq[0];
- var box = $(jq);
- var msg = $.data(jq, "validatebox").message
- var tip = $.data(jq, "validatebox").tip;
- if (!tip) {
- tip = $("<div class=\"validatebox-tip\">" + "<span class=\"validatebox-tip-content\">" + "</span>" + "<span class=\"validatebox-tip-pointer\">" + "</span>" + "</div>").appendTo("body");
- $.data(jq, "validatebox").tip = tip;
- }
- tip.find(".validatebox-tip-content").html(msg);
- tip.css({
- display : "block",
- left : box.offset().left + box.outerWidth(),
- top : box.offset().top
- });
- },
- hideTip : function(jq) {
- jq = jq[0];
- var tip = $.data(jq, "validatebox").tip;
- if (tip) {
- tip.remove;
- $.data(jq, "validatebox").tip = null;
- }
- }
- });
/** * 扩展easyui的validator插件rules,支持更多类型验证 */ $.extend($.fn.validatebox.defaults.rules, { minLength : { // 判断最小长度 validator : function(value, param) { return value.length >= param[0]; }, message : '最少输入 {0} 个字符' }, length : { // 长度 validator : function(value, param) { var len = $.trim(value).length; return len >= param[0] && len <= param[1]; }, message : "输入内容长度必须介于{0}和{1}之间" }, 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 : '手机号码格式不正确' }, phoneAndMobile : {// 电话号码或手机号码 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) || /^(13|15|18)\d{9}$/i.test(value); }, message : '电话号码或手机号码格式不正确' }, idcard : {// 验证身份证 validator : function(value) { return /^\d{15}(\d{2}[A-Za-z0-9])?$/i.test(value) || /^\d{18}(\d{2}[A-Za-z0-9])?$/i.test(value); }, message : '身份证号码格式不正确' }, intOrFloat : {// 验证整数或小数 validator : function(value) { return /^\d+(\.\d+)?$/i.test(value); }, message : '请输入数字,并确保格式正确' }, currency : {// 验证货币 validator : function(value) { return /^\d+(\.\d+)?$/i.test(value); }, message : '货币格式不正确' }, qq : {// 验证QQ,从10000开始 validator : function(value) { return /^[1-9]\d{4,9}$/i.test(value); }, message : 'QQ号码格式不正确' }, integer : {// 验证整数 validator : function(value) { return /^[+]?[1-9]+\d*$/i.test(value); }, message : '请输入整数' }, chinese : {// 验证中文 validator : function(value) { return /^[\u0391-\uFFE5]+$/i.test(value); }, message : '请输入中文' }, chineseAndLength : {// 验证中文及长度 validator : function(value) { var len = $.trim(value).length; if (len >= param[0] && len <= param[1]) { return /^[\u0391-\uFFE5]+$/i.test(value); } }, message : '请输入中文' }, english : {// 验证英语 validator : function(value) { return /^[A-Za-z]+$/i.test(value); }, message : '请输入英文' }, englishAndLength : {// 验证英语及长度 validator : function(value, param) { var len = $.trim(value).length; if (len >= param[0] && len <= param[1]) { return /^[A-Za-z]+$/i.test(value); } }, message : '请输入英文' }, englishUpperCase : {// 验证英语大写 validator : function(value) { return /^[A-Z]+$/.test(value); }, message : '请输入大写英文' }, unnormal : {// 验证是否包含空格和非法字符 validator : function(value) { return /.+/i.test(value); }, message : '输入值不能为空和包含其他非法字符' }, username : {// 验证用户名 validator : function(value) { return /^[a-zA-Z][a-zA-Z0-9_]{5,15}$/i.test(value); }, message : '用户名不合法(字母开头,允许6-16字节,允许字母数字下划线)' }, faxno : {// 验证传真 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 : '传真号码不正确' }, 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地址格式不正确' }, name : {// 验证姓名,可以是中文或英文 validator : function(value) { return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value); }, message : '请输入姓名' }, engOrChinese : {// 可以是中文或英文 validator : function(value) { return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value); }, message : '请输入中文' }, engOrChineseAndLength : {// 可以是中文或英文 validator : function(value) { var len = $.trim(value).length; if (len >= param[0] && len <= param[1]) { return /^[\u0391-\uFFE5]+$/i.test(value) | /^\w+[\w\s]+\w+$/i.test(value); } }, message : '请输入中文或英文' }, carNo : { validator : function(value) { return /^[\u4E00-\u9FA5][\da-zA-Z]{6}$/.test(value); }, message : '车牌号码无效(例:粤B12350)' }, carenergin : { validator : function(value) { return /^[a-zA-Z0-9]{16}$/.test(value); }, message : '发动机型号无效(例:FG6H012345654584)' }, same : { validator : function(value, param) { if ($("#" + param[0]).val() != "" && value != "") { return $("#" + param[0]).val() == value; } else { return true; } }, message : '两次输入的密码不一致!' } }); /** * 扩展easyui validatebox的两个方法.移除验证和还原验证 */ $.extend($.fn.validatebox.methods, { remove : function(jq, newposition) { return jq.each(function() { $(this).removeClass("validatebox-text validatebox-invalid").unbind('focus.validatebox').unbind('blur.validatebox'); // remove tip // $(this).validatebox('hideTip', this); }); }, reduce : function(jq, newposition) { return jq.each(function() { var opt = $(this).data().validatebox.options; $(this).addClass("validatebox-text").validatebox(opt); // $(this).validatebox('validateTip', this); }); }, validateTip : function(jq) { jq = jq[0]; var opts = $.data(jq, "validatebox").options; var tip = $.data(jq, "validatebox").tip; var box = $(jq); var value = box.val(); function setTipMessage(msg) { $.data(jq, "validatebox").message = msg; }; var disabled = box.attr("disabled"); if (disabled == true || disabled == "true") { return true; } if (opts.required) { if (value == "") { box.addClass("validatebox-invalid"); setTipMessage(opts.missingMessage); $(jq).validatebox('showTip', jq); return false; } } if (opts.validType) { var result = /([a-zA-Z_]+)(.*)/.exec(opts.validType); var rule = opts.rules[result[1]]; if (value && rule) { var param = eval(result[2]); if (!rule["validator"](value, param)) { box.addClass("validatebox-invalid"); var message = rule["message"]; if (param) { for (var i = 0; i < param.length; i++) { message = message.replace(new RegExp("\\{" + i + "\\}", "g"), param[i]); } } setTipMessage(opts.invalidMessage || message); $(jq).validatebox('showTip', jq); return false; } } } box.removeClass("validatebox-invalid"); $(jq).validatebox('hideTip', jq); return true; }, showTip : function(jq) { jq = jq[0]; var box = $(jq); var msg = $.data(jq, "validatebox").message var tip = $.data(jq, "validatebox").tip; if (!tip) { tip = $("<div class=\"validatebox-tip\">" + "<span class=\"validatebox-tip-content\">" + "</span>" + "<span class=\"validatebox-tip-pointer\">" + "</span>" + "</div>").appendTo("body"); $.data(jq, "validatebox").tip = tip; } tip.find(".validatebox-tip-content").html(msg); tip.css({ display : "block", left : box.offset().left + box.outerWidth(), top : box.offset().top }); }, hideTip : function(jq) { jq = jq[0]; var tip = $.data(jq, "validatebox").tip; if (tip) { tip.remove; $.data(jq, "validatebox").tip = null; } } });
在使用带 validatebox 的输入框,第一次没输入出现如图验证提示信息
但是点击窗口取消后,再次打开窗口后输入框仍然带有验证信息,查看APi也没有找到解决的方法于是分析了一下页面代码,采用下面处理成功,
$(".validatebox-tip").remove();
$(".validatebox-invalid").removeClass("validatebox-invalid");
另外,有一篇文章
easyui验证的删除和恢复 地址http://liuna718-163-com.iteye.com/blog/1726145 供参考
引用一下他的代码:
- $.extend($.fn.validatebox.methods, {
- remove: function(jq, newposition){
- return jq.each(function(){
- $(this).removeClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');
- });
- },
- reduce: function(jq, newposition){
- return jq.each(function(){
- var opt = $(this).data().validatebox.options;
- $(this).addClass("validatebox-text").validatebox(opt);
- });
- }
- });
- //使用
- $('#id').validatebox('remove'); //删除
- $('#id').validatebox('reduce'); //恢复
$.extend($.fn.validatebox.methods, { remove: function(jq, newposition){ return jq.each(function(){ $(this).removeClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur'); }); }, reduce: function(jq, newposition){ return jq.each(function(){ var opt = $(this).data().validatebox.options; $(this).addClass("validatebox-text").validatebox(opt); }); } }); //使用 $('#id').validatebox('remove'); //删除 $('#id').validatebox('reduce'); //恢复
设置Datagrid中Editor中验证的清除:
- $.extend($.fn.datagrid.methods, {
- setDColumnTitle: function(jq, option){
- if(option.field){
- return jq.each(function(){
- var $panel = $(this).datagrid("getPanel");
- var $field = $('td[field='+option.field+']',$panel);
- if($field.length){
- var $span = $("span",$field).eq(0);
- var $span1 = $("span",$field).eq(1);
- $span.html(option.title);
- $span1.html(option.title);
- }
- });
- }
- return jq;
- } ,
- removeRequired: function(jq, field){
- if(field){
- return jq.each(function(){
- var $panel = $(this).datagrid("getPanel");
- var $field = $('td[field='+field+']',$panel);
- if($field.length){
- var $input = $("input",$field);
- $input.removeClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');
- }
- });
- }
- return jq;
- },
- addRequired: function(jq, field){
- if(field){
- return jq.each(function(){
- var $panel = $(this).datagrid("getPanel");
- var $field = $('td[field='+field+']',$panel);
- if($field.length){
- var $input = $("input",$field);
- $input.addClass("validatebox-text validatebox-invalid").unbind('focus').unbind('blur');
- }
- });
- }
- }
- });
- 使用:
- $obj.datagrid('removeRequired','startPort');
- $obj.datagrid('addRequired','startPort');
EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证的更多相关文章
-
雷林鹏分享:jQuery EasyUI 表单 - 表单验证
jQuery EasyUI 表单 - 表单验证 本教程将向您展示如何验证一个表单.easyui 框架提供一个 validatebox 插件来验证一个表单.在本教程中,我们将创建一个联系表单,并应用 v ...
-
easyUI表单验证
1.重写easyui中的 $.extend($.fn.validatebox.defaults.rules, { }) 2.长度重写的方式 1 $.extend($.fn.validatebox.de ...
-
easyui表单插件-包括日期时控件-列表
← jQuery EasyUI 表单插件 – Numberspinner 数值微调器 jQuery EasyUI 表单插件 - Timespinner 时间微调器 jQuery EasyUI 插件 ...
-
7、easyui 表单
这是最后一个小节了,后面将会使用一个小项目来进一步实用讲解: 在之前的什么相关只是点都以及讲过了或者说涉及到过,如datagrid表格,树形菜单,布局面板panel,页签,拖放功能,只是在表格的属性细 ...
-
easyUI表单基础知识
easyUI创建异步提交表单 我们创建一个带有 name.email 和 phone 字段的表单.通过使用 easyui 表单(form)插件来改变表单(form)为 ajax 表单(form).表单 ...
-
JQuery EasyUI 表单
EasyUI 创建异步提交表单 ♦ 通过使用 easyui 表单插件来改变表单为 ajax表单. 表单提交所有字段到后台服务器,服务器处理和发送一些数据返回到前端页面.我们接收返回数据,并将它显示出来 ...
-
雷林鹏分享:jQuery EasyUI 表单 - 创建异步提交表单
jQuery EasyUI 表单 - 创建异步提交表单 本教程向您展示如何通过 easyui 提交一个表单(Form).我们创建一个带有 name.email 和 phone 字段的表单.通过使用 e ...
-
easyui表单提交,后台获取不到值
J2ee开发,使用easyui表单提交,在ie中可以正常将参数传递到后台,但使用firefox,chrome都无法将easyui的combobox值传递到后台,使用alert($('#form').s ...
-
雷林鹏分享:jQuery EasyUI 表单 - 创建树形下拉框
jQuery EasyUI 表单 - 创建树形下拉框 树形下拉框(ComboTree)是一个带有下列树形结构(Tree)的下拉框(ComboBox).它可以作为一个表单字段进行使用,可以提交给远程服务 ...
随机推荐
-
关于sql server 2008过期导致 MSSQLSERVER服务就无法启动,手动启动就报告错误代码17051。
1.基本现象:MSSQLSERVER服务就无法启动,手动启动就报告17051错误. 2.解决办法: 第一步:进入SQL2008配置工具中的安装中心, 第二步:再进入维护界面,选择版本升级, 第三步:进 ...
-
解决java写入xml报错org.w3c.dom.DOMException:DOM002 Illeg
Exception is -- > org.w3c.dom.DOMException: DOM002 Illegal character 字符不被允许 org.w3c.dom.DOMExcept ...
-
api1
http://www.android-doc.com/reference/android/app/Fragment.html
-
什么时候使用NO_UNNEST
select * from test a where object_id in (select department_id from hr.dept_1 dept where department_i ...
-
UE4里的渲染线程
记的上次看过UniRx里的源代码,说是参考微软的响应式编程框架,响应式编程里的一些理论不细说,只单说UniRx里的事件流里的事件压入与执行,与UE4的渲染线程设计有很多相同之处,如果有了解响应式编程相 ...
-
使用Intellij Idea自定义MVC框架
---恢复内容开始--- 今天我学习了自定义一个简单的MVC框架,这个我们首先要知道什么是MVC框架! MVC框架: MVC全名是Model View Controller,是模型(model)-视图 ...
-
R基础学习
R基础学习 The Art of R Programming 1.seq 产生等差数列:seq(from,to,by) seq(from,to,length) for(i in 1:length(x) ...
-
Ubuntu菜鸟入门(十一)—— windows 和 ubuntu时间冲突解决
一.问题原由 Ubuntu和Windows默认的时间管理方式不同,所以双系统发生时间错乱是正常的 Ubuntu默认时间是把BIOS时间当成GMT+0时间,也就是世界标准时,而我国在东八区(GMT+8) ...
-
安装Scipy出错的解决方法
lapack_opt_info: lapack_mkl_info: libraries mkl_rt not found in ['c:\\python27\\lib', 'C:\\', 'c:\\p ...
-
virtualbox+vagrant学习-2(command cli)-15-vagrant resume命令
Resume 格式: vagrant resume [vm-name] 这将恢复先前挂起的vagrant托管计算机,可能与suspend命令一起使用. 默认情况下,配置的预配置程序在运行该命令时将不再 ...