温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:asp.net办公自动化系统源码
当前文件:
officeAuto/aspnet_client/system_web/1_1_4322/WebUIValidation.js[14K,2009-6-12 11:51:21],打开代码结构图
officeAuto/aspnet_client/system_web/1_1_4322/WebUIValidation.js[14K,2009-6-12 11:51:21],打开代码结构图1var Page_ValidationVer = "125"; 2
var Page_IsValid = true; 3
var Page_BlockSubmit = false; 4
function ValidatorUpdateDisplay(val) { 5
if (typeof(val.display) == "string") { 6
if (val.display == "None") { 7
return; 8
} 9
if (val.display == "Dynamic") { 10
val.style.display = val.isvalid ? "none" : "inline"; 11
return; 12
} 13
} 14
val.style.visibility = val.isvalid ? "hidden" : "visible"; 15
} 16
function ValidatorUpdateIsValid() { 17
var i; 18
for (i = 0; i < Page_Validators.length; i++) { 19
if (!Page_Validators[i].isvalid) { 20
Page_IsValid = false; 21
return; 22
} 23
} 24
Page_IsValid = true; 25
} 26
function ValidatorHookupControlID(controlID, val) { 27
if (typeof(controlID) != "string") { 28
return; 29
} 30
var ctrl = document.all[controlID]; 31
if (typeof(ctrl) != "undefined") { 32
ValidatorHookupControl(ctrl, val); 33
} 34
else { 35
val.isvalid = true; 36
val.enabled = false; 37
} 38
} 39
function ValidatorHookupControl(control, val) { 40
if (typeof(control.tagName) == "undefined" && typeof(control.length) == "number") { 41
var i; 42
for (i = 0; i < control.length; i++) { 43
var inner = control[i]; 44
if (typeof(inner.value) == "string") { 45
ValidatorHookupControl(inner, val); 46
} 47
} 48
return; 49
} 50
else if (control.tagName != "INPUT" && control.tagName != "TEXTAREA" && control.tagName != "SELECT") { 51
var i; 52
for (i = 0; i < control.children.length; i++) { 53
ValidatorHookupControl(control.children[i], val); 54
} 55
return; 56
} 57
else { 58
if (typeof(control.Validators) == "undefined") { 59
control.Validators = new Array; 60
var ev; 61
if (control.type == "radio") { 62
ev = control.onclick; 63
} else { 64
ev = control.onchange; 65
} 66
if (typeof(ev) == "function" ) { 67
ev = ev.toString(); 68
ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}")); 69
} 70
else { 71
ev = ""; 72
} 73
var func = new Function("ValidatorOnChange(); " + ev); 74
if (control.type == "radio") { 75
control.onclick = func; 76
} else { 77
control.onchange = func; 78
} 79
} 80
control.Validators[control.Validators.length] = val; 81
} 82
} 83
function ValidatorGetValue(id) { 84
var control; 85
control = document.all[id]; 86
if (typeof(control.value) == "string") { 87
return control.value; 88
} 89
if (typeof(control.tagName) == "undefined" && typeof(control.length) == "number") { 90
var j; 91
for (j=0; j < control.length; j++) { 92
var inner = control[j]; 93
if (typeof(inner.value) == "string" && (inner.type != "radio" || inner.status == true)) { 94
return inner.value; 95
} 96
} 97
} 98
else { 99
return ValidatorGetValueRecursive(control); 100
} 101
return ""; 102
} 103
function ValidatorGetValueRecursive(control) 104
{ 105
if (typeof(control.value) == "string" && (control.type != "radio" || control.status == true)) { 106
return control.value; 107
} 108
var i, val; 109
for (i = 0; i<control.children.length; i++) { 110
val = ValidatorGetValueRecursive(control.children[i]); 111
if (val != "") return val; 112
} 113
return ""; 114
} 115
function Page_ClientValidate() { 116
var i; 117
for (i = 0; i < Page_Validators.length; i++) { 118
ValidatorValidate(Page_Validators[i]); 119
} 120
ValidatorUpdateIsValid(); 121
ValidationSummaryOnSubmit(); 122
Page_BlockSubmit = !Page_IsValid; 123
return Page_IsValid; 124
} 125
function ValidatorCommonOnSubmit() { 126
var result = !Page_BlockSubmit; 127
Page_BlockSubmit = false; 128
event.returnValue = result; 129
return result; 130
} 131
function ValidatorEnable(val, enable) { 132
val.enabled = (enable != false); 133
ValidatorValidate(val); 134
ValidatorUpdateIsValid(); 135
} 136
function ValidatorOnChange() { 137
var vals = event.srcElement.Validators; 138
var i; 139
for (i = 0; i < vals.length; i++) { 140
ValidatorValidate(vals[i]); 141
} 142
ValidatorUpdateIsValid(); 143
} 144
function ValidatorValidate(val) { 145
val.isvalid = true; 146
if (val.enabled != false) { 147
if (typeof(val.evaluationfunction) == "function") { 148
val.isvalid = val.evaluationfunction(val); 149
} 150
} 151
ValidatorUpdateDisplay(val); 152
} 153
function ValidatorOnLoad() { 154
if (typeof(Page_Validators) == "undefined") 155
return; 156
var i, val; 157
for (i = 0; i < Page_Validators.length; i++) { 158
val = Page_Validators[i]; 159
if (typeof(val.evaluationfunction) == "string") { 160
eval("val.evaluationfunction = " + val.evaluationfunction + ";"); 161
} 162
if (typeof(val.isvalid) == "string") { 163
if (val.isvalid == "False") { 164
val.isvalid = false; 165
Page_IsValid = false; 166
} 167
else { 168
val.isvalid = true; 169
} 170
} else { 171
val.isvalid = true; 172
} 173
if (typeof(val.enabled) == "string") { 174
val.enabled = (val.enabled != "False"); 175
} 176
ValidatorHookupControlID(val.controltovalidate, val); 177
ValidatorHookupControlID(val.controlhookup, val); 178
} 179
Page_ValidationActive = true; 180
} 181
function ValidatorConvert(op, dataType, val) { 182
function GetFullYear(year) { 183
return (year + parseInt(val.century)) - ((year < val.cutoffyear) ? 0 : 100); 184
} 185
var num, cleanInput, m, exp; 186
if (dataType == "Integer") { 187
exp = /^\s*[-\+]?\d+\s*$/; 188
if (op.match(exp) == null) 189
return null; 190
num = parseInt(op, 10); 191
return (isNaN(num) ? null : num); 192
} 193
else if(dataType == "Double") { 194
exp = new RegExp("^\\s*([-\\+])?(\\d+)?(\\" + val.decimalchar + "(\\d+))?\\s*$"); 195
m = op.match(exp); 196
if (m == null) 197
return null; 198
cleanInput = m[1] + (m[2].length>0 ? m[2] : "0") + "." + m[4]; 199
num = parseFloat(cleanInput); 200
return (isNaN(num) ? null : num); 201
} 202
else if (dataType == "Currency") { 203
exp = new RegExp("^\\s*([-\\+])?(((\\d+)\\" + val.groupchar + ")*)(\\d+)" 204
+ ((val.digits > 0) ? "(\\" + val.decimalchar + "(\\d{1," + val.digits + "}))?" : "") 205
+ "\\s*$"); 206
m = op.match(exp); 207
if (m == null) 208
return null; 209
var intermed = m[2] + m[5] ; 210
cleanInput = m[1] + intermed.replace(new RegExp("(\\" + val.groupchar + ")", "g"), "") + ((val.digits > 0) ? "." + m[7] : 0); 211
num = parseFloat(cleanInput); 212
return (isNaN(num) ? null : num); 213
} 214
else if (dataType == "Date") { 215
var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\s*$"); 216
m = op.match(yearFirstExp); 217
var day, month, year; 218
if (m != null && (m[2].length == 4 || val.dateorder == "ymd")) { 219
day = m[6]; 220
month = m[5]; 221
year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10)) 222
} 223
else { 224
if (val.dateorder == "ymd"){ 225
return null; 226
} 227
var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})\\2((\\d{4})|(\\d{2}))\\s*$"); 228
m = op.match(yearLastExp); 229
if (m == null) { 230
return null; 231
} 232
if (val.dateorder == "mdy") { 233
day = m[3]; 234
month = m[1]; 235
} 236
else { 237
day = m[1]; 238
month = m[3]; 239
} 240
year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10)) 241
} 242
month -= 1; 243
var date = new Date(year, month, day); 244
return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null; 245
} 246
else { 247
return op.toString(); 248
} 249
} 250
function ValidatorCompare(operand1, operand2, operator, val) { 251
var dataType = val.type; 252
var op1, op2; 253
if ((op1 = ValidatorConvert(operand1, dataType, val)) == null) 254
return false; 255
if (operator == "DataTypeCheck") 256
return true; 257
if ((op2 = ValidatorConvert(operand2, dataType, val)) == null) 258
return true; 259
switch (operator) { 260
case "NotEqual": 261
return (op1 != op2); 262
case "GreaterThan": 263
return (op1 > op2); 264
case "GreaterThanEqual": 265
return (op1 >= op2); 266
case "LessThan": 267
return (op1 < op2); 268
case "LessThanEqual": 269
return (op1 <= op2); 270
default: 271
return (op1 == op2); 272
} 273
} 274
function CompareValidatorEvaluateIsValid(val) { 275
var value = ValidatorGetValue(val.controltovalidate); 276
if (ValidatorTrim(value).length == 0) 277
return true; 278
var compareTo = ""; 279
if (null == document.all[val.controltocompare]) { 280
if (typeof(val.valuetocompare) == "string") { 281
compareTo = val.valuetocompare; 282
} 283
} 284
else { 285
compareTo = ValidatorGetValue(val.controltocompare); 286
} 287
return ValidatorCompare(value, compareTo, val.operator, val); 288
} 289
function CustomValidatorEvaluateIsValid(val) { 290
var value = ""; 291
if (typeof(val.controltovalidate) == "string") { 292
value = ValidatorGetValue(val.controltovalidate); 293
if (ValidatorTrim(value).length == 0) 294
return true; 295
} 296
var args = { Value:value, IsValid:true }; 297
if (typeof(val.clientvalidationfunction) == "string") { 298
eval(val.clientvalidationfunction + "(val, args) ;"); 299
} 300
return args.IsValid; 301
} 302
function RegularExpressionValidatorEvaluateIsValid(val) { 303
var value = ValidatorGetValue(val.controltovalidate); 304
if (ValidatorTrim(value).length == 0) 305
return true; 306
var rx = new RegExp(val.validationexpression); 307
var matches = rx.exec(value); 308
return (matches != null && value == matches[0]); 309
} 310
function ValidatorTrim(s) { 311
var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); 312
return (m == null) ? "" : m[1]; 313
} 314
function RequiredFieldValidatorEvaluateIsValid(val) { 315
return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue)) 316
} 317
function RangeValidatorEvaluateIsValid(val) { 318
var value = ValidatorGetValue(val.controltovalidate); 319
if (ValidatorTrim(value).length == 0) 320
return true; 321
return (ValidatorCompare(value, val.minimumvalue, "GreaterThanEqual", val) && 322
ValidatorCompare(value, val.maximumvalue, "LessThanEqual", val)); 323
} 324
function ValidationSummaryOnSubmit() { 325
if (typeof(Page_ValidationSummaries) == "undefined") 326
return; 327
var summary, sums, s; 328
for (sums = 0; sums < Page_ValidationSummaries.length; sums++) { 329
summary = Page_ValidationSummaries[sums]; 330
summary.style.display = "none"; 331
if (!Page_IsValid) { 332
if (summary.showsummary != "False") { 333
summary.style.display = ""; 334
if (typeof(summary.displaymode) != "string") { 335
summary.displaymode = "BulletList"; 336
} 337
switch (summary.displaymode) { 338
case "List": 339
headerSep = "<br>"; 340
first = ""; 341
pre = ""; 342
post = "<br>"; 343
final = ""; 344
break; 345
case "BulletList": 346
default: 347
headerSep = ""; 348
first = "<ul>"; 349
pre = "<li>"; 350
post = "</li>"; 351
final = "</ul>"; 352
break; 353
case "SingleParagraph": 354
headerSep = " "; 355
first = ""; 356
pre = ""; 357
post = " "; 358
final = "<br>"; 359
break; 360
} 361
s = ""; 362
if (typeof(summary.headertext) == "string") { 363
s += summary.headertext + headerSep; 364
} 365
s += first; 366
for (i=0; i<Page_Validators.length; i++) { 367
if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") { 368
s += pre + Page_Validators[i].errormessage + post; 369
} 370
} 371
s += final; 372
summary.innerHTML = s; 373
window.scrollTo(0,0); 374
} 375
if (summary.showmessagebox == "True") { 376
s = ""; 377
if (typeof(summary.headertext) == "string") { 378
s += summary.headertext + "<BR>"; 379
} 380
for (i=0; i<Page_Validators.length; i++) { 381
if (!Page_Validators[i].isvalid && typeof(Page_Validators[i].errormessage) == "string") { 382
switch (summary.displaymode) { 383
case "List": 384
s += Page_Validators[i].errormessage + "<BR>"; 385
break; 386
case "BulletList": 387
default: 388
s += " - " + Page_Validators[i].errormessage + "<BR>"; 389
break; 390
case "SingleParagraph": 391
s += Page_Validators[i].errormessage + " "; 392
break; 393
} 394
} 395
} 396
span = document.createElement("SPAN"); 397
span.innerHTML = s; 398
s = span.innerText; 399
alert(s); 400
} 401
} 402
} 403
} 404






}
}