在工作中的实例代码。
这里无法传变量参数
引入自定义校验器JS
<script src="<%=request.getContextPath()%>/js/easyui-validatebox-custom.js" charset="UTF-8" type="text/javascript"></script>
x
1
1
<script src="<%=request.getContextPath()%>/js/easyui-validatebox-custom.js" charset="UTF-8" type="text/javascript"></script>
HTML中使用自定义校验器
<s:if test="#request.currentTmplId=='' || #request.currentTmplId==null">
<input id="tmplName" name="tmplName" class="easyui-validatebox" data-options="required:false,validType:'tmplName[2,10]'" style="width: 155px;" />
</s:if>
<s:if test="#request.currentTmplId!=''&&#request.currentTmplId!=null">
<input id="tmplName" name="tmplName" class="easyui-validatebox" data-options="required:false,validType:'tmplName[2,10,${requestScope.currentTmplId }]'" style="width: 155px;" />
</s:if>
x
6
1
<s:if test="#request.currentTmplId=='' || #request.currentTmplId==null">
2
<input id="tmplName" name="tmplName" class="easyui-validatebox" data-options="required:false,validType:'tmplName[2,10]'" style="width: 155px;" />
3
</s:if>
4
<s:if test="#request.currentTmplId!=''&&#request.currentTmplId!=null">
5
<input id="tmplName" name="tmplName" class="easyui-validatebox" data-options="required:false,validType:'tmplName[2,10,${requestScope.currentTmplId }]'" style="width: 155px;" />
6
</s:if>
js定义:
$('#tmplName').validatebox({required:true,validType:'tmplName[2,10]'});
1
1
1
$('#tmplName').validatebox({required:true,validType:'tmplName[2,10]'});
可以传多个参数。
校验器:
/**
* 自定义 easyui 验证
*/
$(document).ready(
function(){
$.extend($.fn.validatebox.defaults.rules, {
minLength: {
validator: function(value, param){ //value 为需要校验的输入框的值 , param为使用此规则时存入的参数
return value.length >= param[0];
},
message: '请输入最小{0}位字符.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
maxLength: {
validator: function(value, param){
return param[0] >= value.length;
},
message: '请输入最大{0}位字符.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
length: {
validator: function(value, param){
value = $.trim(value);//去掉左右空格
return value.length >= param[0] && param[1] >= value.length;
},
message: '请输入{0}-{1}位字符.'
}
});
// extend the 'equals' rule
$.extend($.fn.validatebox.defaults.rules, {
equals: {
validator: function(value,param){
return value == $(param[0]).val();
},
message: '密码与确认密码不相同.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
web : {
validator: function(value){
return /^(http[s]{0,1}|ftp):\/\//i.test($.trim(value));
},
message: '网址格式错误.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
mobile : {
validator: function(value){
// return /^1[0-9]{10}$/i.test($.trim(value));
return /^\d+-?\d+$/i.test($.trim(value));
},
message: '联系电话格式错误.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
date : {
validator: function(value){
return /^[0-9]{4}[-][0-9]{2}[-][0-9]{2}$/i.test($.trim(value));
},
message: '曰期格式错误,如2014-04-04.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
email : {
validator: function(value){
return /^[a-zA-Z0-9_+.-]+\@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,4}$/i.test($.trim(value));
},
message: '电子邮箱格式错误.'
}
});
$.extend($.fn.validatebox.defaults.rules, {
ip : {
validator: function(value){
return /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(;(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]))*$/i.test($.trim(value));
},
message: 'ip格式错误.'
}
});
// $.extend($.fn.validatebox.defaults.rules, {
// captcha : {
// validator: function(value){
// var data0 = false;
// $.ajax({
// type: "POST",async:false,
// url:contextPath + "/json/valSimulation.action",
// dataType:"json",
// data:{"simulation":value},
// async:false,
// success: function(data){
// data0=data;
// }
// });
//
// return data0;
return /^[a-zA-Z0-9]{4}$/i.test($.trim(value));
// },
// message: '验证码错误.'
// }
// });
//用户名称验证
$.extend($.fn.validatebox.defaults.rules, {
userCode : {
validator: function(value,param){
var data0 = false;
if(value.length >= param[0] && param[1] >= value.length)
{
if(/^\w+$/i.test($.trim(value))){
$.ajax({
type: "POST",
url:$('#contextPath').val()+'/userAction!checkUserCode.action',
dataType:"json",
data:{"userCode":value,"chooseUserId":param[2]},
async:false,
success: function(data){
data0=data.success;
}
});
}
else{
param[3] = "用户账号只能包含英文字母、数字与下划线";
return false;
}
}else{
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[3] = "登录名称已存在.";
return data0;
},
message: "{3}"
}
});
//用户密码验证
$.extend($.fn.validatebox.defaults.rules, {
userPwd : {
validator: function(value,param){
var data0 = false;
if(value.length >= param[0] && param[1] >= value.length)
{
if(/[A-Za-z]+/.test($.trim(value)) && /[0-9]+/.test($.trim(value))){
$.ajax({
type: "POST",
url:$('#contextPath').val()+'/userAction!checkUserPass.action',
dataType:"json",
data:{"pwd":value,"chooseUserId":param[2]},
async:false,
success: function(data){
data0=data.success;
}
});
}
else{
param[3] = "用户密码必须包含英文字母、数字";
return false;
}
}else{
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[3] = "密码最近使用过,请重新修改.";
return data0;
},
message: "{3}"
}
});
//角色名称验证
$.extend($.fn.validatebox.defaults.rules, {
roleName : {
validator: function(value,param){
var data0 = false;
if(value.length >= param[0] && param[1] >= value.length)
{
if($.trim(value)!=''){
$.ajax({
type: "POST",
url:$('#contextPath').val()+'/roleAction!checkRoleName.action',
dataType:"json",
data:{"roleName":value,"chooseOperateType":param[2]},
async:false,
success: function(data){
data0=data.success;
}
});
}else{
param[3] = "角色名称不为空";
return false;
}
}else{
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[3] = "角色名称已存在.";
return data0;
},
message: "{3}"
}
});
//门户名称验证
$.extend($.fn.validatebox.defaults.rules, {
portalName : {
validator: function(value,param){
var data0 = false;
if(value.length >= param[0] && param[1] >= value.length)
{
if($.trim(value)!=''){
$.ajax({
type: "POST",
url:$('#contextPath').val()+'/portalAction!checkPortalName.action',
dataType:"json",
data:{"portalName":value,"choosePortalId":param[2]},
async:false,
success: function(data){
data0=data.success;
}
});
}
else{
param[3] = "门户名称不为空";
return false;
}
}else{
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[3] = "门户名称已存在.";
return data0;
},
message: "{3}"
}
});
//对话框 ie选择框突出显示问题解决
/* $.extend($.fn.dialog.defaults,{
onLoad:function(){
if( /msie 6\.0/i.test(navigator.userAgent.toLowerCase())){//判断浏览器及其版本,如果是IE6及其以下版本统一这样处理
//alert('this is dialog fuck onpen');
//alert($("select"));
$("select").css({visibility:"hidden"});
}
},
onClose:function(){
//$(this).dialog('destroy');
if( /msie 6\.0/i.test(navigator.userAgent.toLowerCase())){//判断浏览器及其版本,如果是IE6及其以下版本统一这样处理
//alert('this is dialog fuck onclose');
//alert($("select"));
$("select").css({visibility:"visible"});
}
}
});*/
//模版表名前缀验证 ,而且前面必须要以字母开头
$.extend($.fn.validatebox.defaults.rules, {
tablePrefix : {
validator: function(value,param){
var data0 = false;
if(value.length >= param[0] && param[1] >= value.length)
{
if(/^[a-zA-Z]+\w+$/i.test($.trim(value))){
$.ajax({
type: "POST",
url:$('#contextPath').val()+'/tmplConfigInfoAction!checkTablePrefix.action',
dataType:"json",
data:{"tablePrefix":value,"chooseTmplId":param[2]},
async:false,
success: function(data){
data0=data.success;
}
});
}
else{
param[3] = "表名前缀必须以字母开头由英文字母、数字与下划线组成";
return false;
}
}else{
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[3] = "表前缀名已存在.";
return data0;
},
message: "{3}"
}
});
//模版表名前缀验证
$.extend($.fn.validatebox.defaults.rules, {
tmplName : {
validator: function(value,param){
var data0 = false;
if(value.length >= param[0] && param[1] >= value.length)
{
if($.trim(value)!=''){
$.ajax({
type: "POST",
url:$('#contextPath').val()+'/tmplConfigInfoAction!checkTmplName.action',
dataType:"json",
data:{"tmplName":value,"chooseTmplId":param[2]},
async:false,
success: function(data){
data0=data.success;
}
});
}else{
param[3] = "模版名称不为空";
return false;
}
}else{
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
return false;
}
param[3] = "模版名称已存在.";
return data0;
},
message: "{3}"
}
});
});
1
/**
2
* 自定义 easyui 验证
3
*/
4
$(document).ready(
5
function(){
6
7
$.extend($.fn.validatebox.defaults.rules, {
8
minLength: {
9
validator: function(value, param){ //value 为需要校验的输入框的值 , param为使用此规则时存入的参数
10
return value.length >= param[0];
11
},
12
message: '请输入最小{0}位字符.'
13
}
14
});
15
16
$.extend($.fn.validatebox.defaults.rules, {
17
maxLength: {
18
validator: function(value, param){
19
return param[0] >= value.length;
20
},
21
message: '请输入最大{0}位字符.'
22
}
23
});
24
25
$.extend($.fn.validatebox.defaults.rules, {
26
length: {
27
validator: function(value, param){
28
value = $.trim(value);//去掉左右空格
29
return value.length >= param[0] && param[1] >= value.length;
30
},
31
message: '请输入{0}-{1}位字符.'
32
}
33
});
34
35
// extend the 'equals' rule
36
$.extend($.fn.validatebox.defaults.rules, {
37
equals: {
38
validator: function(value,param){
39
return value == $(param[0]).val();
40
},
41
message: '密码与确认密码不相同.'
42
}
43
});
44
45
$.extend($.fn.validatebox.defaults.rules, {
46
web : {
47
validator: function(value){
48
return /^(http[s]{0,1}|ftp):\/\//i.test($.trim(value));
49
},
50
message: '网址格式错误.'
51
}
52
});
53
54
$.extend($.fn.validatebox.defaults.rules, {
55
mobile : {
56
validator: function(value){
57
// return /^1[0-9]{10}$/i.test($.trim(value));
58
return /^\d+-?\d+$/i.test($.trim(value));
59
},
60
message: '联系电话格式错误.'
61
}
62
});
63
64
$.extend($.fn.validatebox.defaults.rules, {
65
date : {
66
validator: function(value){
67
return /^[0-9]{4}[-][0-9]{2}[-][0-9]{2}$/i.test($.trim(value));
68
},
69
message: '曰期格式错误,如2014-04-04.'
70
}
71
});
72
73
$.extend($.fn.validatebox.defaults.rules, {
74
email : {
75
validator: function(value){
76
return /^[a-zA-Z0-9_+.-]+\@([a-zA-Z0-9-]+\.)+[a-zA-Z0-9]{2,4}$/i.test($.trim(value));
77
},
78
message: '电子邮箱格式错误.'
79
}
80
});
81
$.extend($.fn.validatebox.defaults.rules, {
82
ip : {
83
validator: function(value){
84
return /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])(;(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5]))*$/i.test($.trim(value));
85
},
86
message: 'ip格式错误.'
87
}
88
});
89
// $.extend($.fn.validatebox.defaults.rules, {
90
// captcha : {
91
// validator: function(value){
92
// var data0 = false;
93
// $.ajax({
94
// type: "POST",async:false,
95
// url:contextPath + "/json/valSimulation.action",
96
// dataType:"json",
97
// data:{"simulation":value},
98
// async:false,
99
// success: function(data){
100
// data0=data;
101
// }
102
// });
103
//
104
// return data0;
105
return /^[a-zA-Z0-9]{4}$/i.test($.trim(value));
106
// },
107
// message: '验证码错误.'
108
// }
109
// });
110
//用户名称验证
111
$.extend($.fn.validatebox.defaults.rules, {
112
userCode : {
113
validator: function(value,param){
114
var data0 = false;
115
if(value.length >= param[0] && param[1] >= value.length)
116
{
117
if(/^\w+$/i.test($.trim(value))){
118
$.ajax({
119
type: "POST",
120
url:$('#contextPath').val()+'/userAction!checkUserCode.action',
121
dataType:"json",
122
data:{"userCode":value,"chooseUserId":param[2]},
123
async:false,
124
success: function(data){
125
data0=data.success;
126
}
127
});
128
}
129
else{
130
param[3] = "用户账号只能包含英文字母、数字与下划线";
131
return false;
132
}
133
}else{
134
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
135
return false;
136
}
137
138
139
param[3] = "登录名称已存在.";
140
return data0;
141
},
142
message: "{3}"
143
}
144
});
145
//用户密码验证
146
$.extend($.fn.validatebox.defaults.rules, {
147
userPwd : {
148
validator: function(value,param){
149
var data0 = false;
150
if(value.length >= param[0] && param[1] >= value.length)
151
{
152
if(/[A-Za-z]+/.test($.trim(value)) && /[0-9]+/.test($.trim(value))){
153
$.ajax({
154
type: "POST",
155
url:$('#contextPath').val()+'/userAction!checkUserPass.action',
156
dataType:"json",
157
data:{"pwd":value,"chooseUserId":param[2]},
158
async:false,
159
success: function(data){
160
data0=data.success;
161
}
162
});
163
}
164
else{
165
param[3] = "用户密码必须包含英文字母、数字";
166
return false;
167
}
168
}else{
169
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
170
return false;
171
}
172
173
174
param[3] = "密码最近使用过,请重新修改.";
175
return data0;
176
},
177
message: "{3}"
178
}
179
});
180
181
//角色名称验证
182
$.extend($.fn.validatebox.defaults.rules, {
183
roleName : {
184
validator: function(value,param){
185
var data0 = false;
186
if(value.length >= param[0] && param[1] >= value.length)
187
{
188
if($.trim(value)!=''){
189
$.ajax({
190
type: "POST",
191
url:$('#contextPath').val()+'/roleAction!checkRoleName.action',
192
dataType:"json",
193
data:{"roleName":value,"chooseOperateType":param[2]},
194
async:false,
195
success: function(data){
196
data0=data.success;
197
}
198
});
199
}else{
200
param[3] = "角色名称不为空";
201
return false;
202
}
203
}else{
204
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
205
return false;
206
}
207
208
param[3] = "角色名称已存在.";
209
return data0;
210
},
211
message: "{3}"
212
}
213
});
214
//门户名称验证
215
$.extend($.fn.validatebox.defaults.rules, {
216
portalName : {
217
validator: function(value,param){
218
var data0 = false;
219
if(value.length >= param[0] && param[1] >= value.length)
220
{
221
if($.trim(value)!=''){
222
$.ajax({
223
type: "POST",
224
url:$('#contextPath').val()+'/portalAction!checkPortalName.action',
225
dataType:"json",
226
data:{"portalName":value,"choosePortalId":param[2]},
227
async:false,
228
success: function(data){
229
data0=data.success;
230
}
231
});
232
}
233
else{
234
param[3] = "门户名称不为空";
235
return false;
236
}
237
}else{
238
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
239
return false;
240
}
241
242
243
param[3] = "门户名称已存在.";
244
return data0;
245
},
246
message: "{3}"
247
}
248
});
249
//对话框 ie选择框突出显示问题解决
250
/* $.extend($.fn.dialog.defaults,{
251
onLoad:function(){
252
if( /msie 6\.0/i.test(navigator.userAgent.toLowerCase())){//判断浏览器及其版本,如果是IE6及其以下版本统一这样处理
253
//alert('this is dialog fuck onpen');
254
//alert($("select"));
255
$("select").css({visibility:"hidden"});
256
}
257
},
258
onClose:function(){
259
//$(this).dialog('destroy');
260
if( /msie 6\.0/i.test(navigator.userAgent.toLowerCase())){//判断浏览器及其版本,如果是IE6及其以下版本统一这样处理
261
//alert('this is dialog fuck onclose');
262
//alert($("select"));
263
$("select").css({visibility:"visible"});
264
}
265
}
266
});*/
267
268
//模版表名前缀验证 ,而且前面必须要以字母开头
269
$.extend($.fn.validatebox.defaults.rules, {
270
tablePrefix : {
271
validator: function(value,param){
272
var data0 = false;
273
if(value.length >= param[0] && param[1] >= value.length)
274
{
275
if(/^[a-zA-Z]+\w+$/i.test($.trim(value))){
276
$.ajax({
277
type: "POST",
278
url:$('#contextPath').val()+'/tmplConfigInfoAction!checkTablePrefix.action',
279
dataType:"json",
280
data:{"tablePrefix":value,"chooseTmplId":param[2]},
281
async:false,
282
success: function(data){
283
data0=data.success;
284
}
285
});
286
}
287
else{
288
param[3] = "表名前缀必须以字母开头由英文字母、数字与下划线组成";
289
return false;
290
}
291
}else{
292
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
293
return false;
294
}
295
param[3] = "表前缀名已存在.";
296
return data0;
297
},
298
message: "{3}"
299
}
300
});
301
//模版表名前缀验证
302
$.extend($.fn.validatebox.defaults.rules, {
303
tmplName : {
304
validator: function(value,param){
305
var data0 = false;
306
if(value.length >= param[0] && param[1] >= value.length)
307
{
308
if($.trim(value)!=''){
309
$.ajax({
310
type: "POST",
311
url:$('#contextPath').val()+'/tmplConfigInfoAction!checkTmplName.action',
312
dataType:"json",
313
data:{"tmplName":value,"chooseTmplId":param[2]},
314
async:false,
315
success: function(data){
316
data0=data.success;
317
}
318
});
319
}else{
320
param[3] = "模版名称不为空";
321
return false;
322
}
323
}else{
324
param[3] = "请输入"+param[0]+"-"+param[1]+"位字符.";
325
return false;
326
}
327
328
param[3] = "模版名称已存在.";
329
return data0;
330
},
331
message: "{3}"
332
}
333
});
334
335
336
337
});