`
zzz200100
  • 浏览: 35314 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

easyui-validatebox 的自定义用户名验证

阅读更多
最近在用 jquery的插件easyui,由于validatebox的默认只有3种验证模式。想有一个符合自己需求的这种ajax的验证,在网上百般搜索代码,没有一个能用的。无奈自己看着手册摸索一个。

自己第一个版本失败了,每次输入字符cpu都在蠢动。郁闷、肯定是验证太不严谨。由于手册比较简单,不懂jeasy的重写视图。期间参阅许多大才们的文章。可惜忘了收藏...没法贴出。

【html代码】
<input class="easyui-validatebox" required="true" validType="loginName[位数, 远程验证文件, 命名, 参数3可选]" missingMessage="不为空提示"></input>


【js代码】
$.extend($.fn.validatebox.defaults.rules, {
	loginName: {
// param 参数集合
		validator: function (value, param) {
			if (value.length < param[0]) {
				$.fn.validatebox.defaults.rules.loginName.message = '用户名要' + param[0] + '位数!';
				return false;
			} else {
				if (!/^[\w]+$/.test(value)) {
					$.fn.validatebox.defaults.rules.loginName.message = '用户名只能英文字母、数字及下划线的组合!';
					return false;
				} else {
					var postdata = {};
					if (param[3]) {
						postdata[param[2]] = param[3];
					} else {
						postdata[param[2]] = value;
					}
					var result = $.ajax({
						url: param[1],
						data: postdata,
						type: 'post',
						dataType: 'json',
						async: false,
						cache: false
					}).responseText;
					if (result == 'false') {
						$.fn.validatebox.defaults.rules.loginName.message = '用户名已存在!';
						return false;
					} else {
						return true;
					}
				}
			}
		},
		message: ''
	}


【远程验证脚本】
//这个可以根据自己的脚本写
//一系列SQL查询,返回结果
if (NO){
return true;
} else {
return false;
}


【jeasyui官网】http://www.jeasyui.com
【附上这位大才的翻译】http://www.cnblogs.com/Philoo/archive/2011/11/17/jeasyui_api_index.html

如有错误和不严谨的地方望各位看官不吝指教。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics