annotate js/gen_validatorv4.js @ 25:4a4bd554b4c1 tip

Closing this sub branch.
author Daniele Barchiesi <daniele.barchiesi@eecs.qmul.ac.uk>
date Mon, 25 Mar 2013 14:02:54 +0000
parents 032bc65ebafc
children
rev   line source
gyorgy@0 1 /*
gyorgy@0 2 -------------------------------------------------------------------------
gyorgy@0 3 JavaScript Form Validator (gen_validatorv4.js)
gyorgy@0 4 Version 4.0
gyorgy@0 5 Copyright (C) 2003-2011 JavaScript-Coder.com. All rights reserved.
gyorgy@0 6 You can freely use this script in your Web pages.
gyorgy@0 7 You may adapt this script for your own needs, provided these opening credit
gyorgy@0 8 lines are kept intact.
gyorgy@0 9
gyorgy@0 10 The Form validation script is distributed free from JavaScript-Coder.com
gyorgy@0 11 For updates, please visit:
gyorgy@0 12 http://www.javascript-coder.com/html-form/javascript-form-validation.phtml
gyorgy@0 13
gyorgy@0 14 Questions & comments please send to form.val (at) javascript-coder.com
gyorgy@0 15 -------------------------------------------------------------------------
gyorgy@0 16 */
gyorgy@0 17
gyorgy@0 18 function Validator(frmname)
gyorgy@0 19 {
gyorgy@0 20 this.validate_on_killfocus = false;
gyorgy@0 21 this.formobj = document.forms[frmname];
gyorgy@0 22 if (!this.formobj)
gyorgy@0 23 {
gyorgy@0 24 alert("Error: couldnot get Form object " + frmname);
gyorgy@0 25 return;
gyorgy@0 26 }
gyorgy@0 27 if (this.formobj.onsubmit)
gyorgy@0 28 {
gyorgy@0 29 this.formobj.old_onsubmit = this.formobj.onsubmit;
gyorgy@0 30 this.formobj.onsubmit = null;
gyorgy@0 31 }
gyorgy@0 32 else
gyorgy@0 33 {
gyorgy@0 34 this.formobj.old_onsubmit = null;
gyorgy@0 35 }
gyorgy@0 36 this.formobj._sfm_form_name = frmname;
gyorgy@0 37
gyorgy@0 38 this.formobj.onsubmit = form_submit_handler;
gyorgy@0 39 this.addValidation = add_validation;
gyorgy@0 40
gyorgy@0 41 this.formobj.addnlvalidations = new Array();
gyorgy@0 42 this.addAddnlValidationFunction = add_addnl_vfunction;
gyorgy@0 43 this.formobj.runAddnlValidations = run_addnl_validations;
gyorgy@0 44 this.setAddnlValidationFunction = set_addnl_vfunction;//for backward compatibility
gyorgy@0 45
gyorgy@0 46
gyorgy@0 47 this.clearAllValidations = clear_all_validations;
gyorgy@0 48 this.focus_disable_validations = false;
gyorgy@0 49
gyorgy@0 50 document.error_disp_handler = new sfm_ErrorDisplayHandler();
gyorgy@0 51
gyorgy@0 52 this.EnableOnPageErrorDisplay = validator_enable_OPED;
gyorgy@0 53 this.EnableOnPageErrorDisplaySingleBox = validator_enable_OPED_SB;
gyorgy@0 54
gyorgy@0 55 this.show_errors_together = false;
gyorgy@0 56 this.EnableMsgsTogether = sfm_enable_show_msgs_together;
gyorgy@0 57 document.set_focus_onerror = true;
gyorgy@0 58 this.EnableFocusOnError = sfm_validator_enable_focus;
gyorgy@0 59
gyorgy@0 60 this.formobj.error_display_loc = 'right';
gyorgy@0 61 this.SetMessageDisplayPos = sfm_validator_message_disp_pos;
gyorgy@0 62
gyorgy@0 63 this.formobj.DisableValidations = sfm_disable_validations;
gyorgy@0 64 this.formobj.validatorobj = this;
gyorgy@0 65 }
gyorgy@0 66
gyorgy@0 67
gyorgy@0 68 function sfm_validator_enable_focus(enable)
gyorgy@0 69 {
gyorgy@0 70 document.set_focus_onerror = enable;
gyorgy@0 71 }
gyorgy@0 72
gyorgy@0 73 function add_addnl_vfunction()
gyorgy@0 74 {
gyorgy@0 75 var proc =
gyorgy@0 76 {
gyorgy@0 77 };
gyorgy@0 78 proc.func = arguments[0];
gyorgy@0 79 proc.arguments = [];
gyorgy@0 80
gyorgy@0 81 for (var i = 1; i < arguments.length; i++)
gyorgy@0 82 {
gyorgy@0 83 proc.arguments.push(arguments[i]);
gyorgy@0 84 }
gyorgy@0 85 this.formobj.addnlvalidations.push(proc);
gyorgy@0 86 }
gyorgy@0 87
gyorgy@0 88 function set_addnl_vfunction(functionname)
gyorgy@0 89 {
gyorgy@0 90 if(functionname.constructor == String)
gyorgy@0 91 {
gyorgy@0 92 alert("Pass the function name like this: validator.setAddnlValidationFunction(DoCustomValidation)\n "+
gyorgy@0 93 "rather than passing the function name as string");
gyorgy@0 94 return;
gyorgy@0 95 }
gyorgy@0 96 this.addAddnlValidationFunction(functionname);
gyorgy@0 97 }
gyorgy@0 98
gyorgy@0 99 function run_addnl_validations()
gyorgy@0 100 {
gyorgy@0 101 var ret = true;
gyorgy@0 102 for (var f = 0; f < this.addnlvalidations.length; f++)
gyorgy@0 103 {
gyorgy@0 104 var proc = this.addnlvalidations[f];
gyorgy@0 105 var args = proc.arguments || [];
gyorgy@0 106 if (!proc.func.apply(null, args))
gyorgy@0 107 {
gyorgy@0 108 ret = false;
gyorgy@0 109 }
gyorgy@0 110 }
gyorgy@0 111 return ret;
gyorgy@0 112 }
gyorgy@0 113
gyorgy@0 114 function sfm_set_focus(objInput)
gyorgy@0 115 {
gyorgy@0 116 if (document.set_focus_onerror)
gyorgy@0 117 {
gyorgy@0 118 if (!objInput.disabled && objInput.type != 'hidden')
gyorgy@0 119 {
gyorgy@0 120 objInput.focus();
gyorgy@0 121 }
gyorgy@0 122 }
gyorgy@0 123 }
gyorgy@0 124
gyorgy@0 125 function sfm_disable_validations()
gyorgy@0 126 {
gyorgy@0 127 if (this.old_onsubmit)
gyorgy@0 128 {
gyorgy@0 129 this.onsubmit = this.old_onsubmit;
gyorgy@0 130 }
gyorgy@0 131 else
gyorgy@0 132 {
gyorgy@0 133 this.onsubmit = null;
gyorgy@0 134 }
gyorgy@0 135 }
gyorgy@0 136
gyorgy@0 137 function sfm_enable_show_msgs_together()
gyorgy@0 138 {
gyorgy@0 139 this.show_errors_together = true;
gyorgy@0 140 this.formobj.show_errors_together = true;
gyorgy@0 141 }
gyorgy@0 142
gyorgy@0 143 function sfm_validator_message_disp_pos(pos)
gyorgy@0 144 {
gyorgy@0 145 this.formobj.error_display_loc = pos;
gyorgy@0 146 }
gyorgy@0 147
gyorgy@0 148 function clear_all_validations()
gyorgy@0 149 {
gyorgy@0 150 for (var itr = 0; itr < this.formobj.elements.length; itr++)
gyorgy@0 151 {
gyorgy@0 152 this.formobj.elements[itr].validationset = null;
gyorgy@0 153 }
gyorgy@0 154 }
gyorgy@0 155
gyorgy@0 156 function form_submit_handler()
gyorgy@0 157 {
gyorgy@0 158 var bRet = true;
gyorgy@0 159 document.error_disp_handler.clear_msgs();
gyorgy@0 160 for (var itr = 0; itr < this.elements.length; itr++)
gyorgy@0 161 {
gyorgy@0 162 if (this.elements[itr].validationset && !this.elements[itr].validationset.validate())
gyorgy@0 163 {
gyorgy@0 164 bRet = false;
gyorgy@0 165 }
gyorgy@0 166 if (!bRet && !this.show_errors_together)
gyorgy@0 167 {
gyorgy@0 168 break;
gyorgy@0 169 }
gyorgy@0 170 }
gyorgy@0 171
gyorgy@0 172 if (this.show_errors_together || bRet && !this.show_errors_together)
gyorgy@0 173 {
gyorgy@0 174 if (!this.runAddnlValidations())
gyorgy@0 175 {
gyorgy@0 176 bRet = false;
gyorgy@0 177 }
gyorgy@0 178 }
gyorgy@0 179 if (!bRet)
gyorgy@0 180 {
gyorgy@0 181 document.error_disp_handler.FinalShowMsg();
gyorgy@0 182 return false;
gyorgy@0 183 }
gyorgy@0 184 return true;
gyorgy@0 185 }
gyorgy@0 186
gyorgy@0 187 function add_validation(itemname, descriptor, errstr)
gyorgy@0 188 {
gyorgy@0 189 var condition = null;
gyorgy@0 190 if (arguments.length > 3)
gyorgy@0 191 {
gyorgy@0 192 condition = arguments[3];
gyorgy@0 193 }
gyorgy@0 194 if (!this.formobj)
gyorgy@0 195 {
gyorgy@0 196 alert("Error: The form object is not set properly");
gyorgy@0 197 return;
gyorgy@0 198 } //if
gyorgy@0 199 var itemobj = this.formobj[itemname];
gyorgy@0 200
gyorgy@0 201 if (itemobj.length && isNaN(itemobj.selectedIndex))
gyorgy@0 202 //for radio button; don't do for 'select' item
gyorgy@0 203 {
gyorgy@0 204 itemobj = itemobj[0];
gyorgy@0 205 }
gyorgy@0 206 if (!itemobj)
gyorgy@0 207 {
gyorgy@0 208 alert("Error: Couldnot get the input object named: " + itemname);
gyorgy@0 209 return;
gyorgy@0 210 }
gyorgy@0 211 if (true == this.validate_on_killfocus)
gyorgy@0 212 {
gyorgy@0 213 itemobj.onblur = handle_item_on_killfocus;
gyorgy@0 214 }
gyorgy@0 215 if (!itemobj.validationset)
gyorgy@0 216 {
gyorgy@0 217 itemobj.validationset = new ValidationSet(itemobj, this.show_errors_together);
gyorgy@0 218 }
gyorgy@0 219 itemobj.validationset.add(descriptor, errstr, condition);
gyorgy@0 220 itemobj.validatorobj = this;
gyorgy@0 221 }
gyorgy@0 222
gyorgy@0 223 function handle_item_on_killfocus()
gyorgy@0 224 {
gyorgy@0 225 if (this.validatorobj.focus_disable_validations == true)
gyorgy@0 226 {
gyorgy@0 227 /*
gyorgy@0 228 To avoid repeated looping message boxes
gyorgy@0 229 */
gyorgy@0 230 this.validatorobj.focus_disable_validations = false;
gyorgy@0 231 return false;
gyorgy@0 232 }
gyorgy@0 233
gyorgy@0 234 if (null != this.validationset)
gyorgy@0 235 {
gyorgy@0 236 document.error_disp_handler.clear_msgs();
gyorgy@0 237 if (false == this.validationset.validate())
gyorgy@0 238 {
gyorgy@0 239 document.error_disp_handler.FinalShowMsg();
gyorgy@0 240 return false;
gyorgy@0 241 }
gyorgy@0 242 }
gyorgy@0 243 }
gyorgy@0 244
gyorgy@0 245 function validator_enable_OPED()
gyorgy@0 246 {
gyorgy@0 247 document.error_disp_handler.EnableOnPageDisplay(false);
gyorgy@0 248 }
gyorgy@0 249
gyorgy@0 250 function validator_enable_OPED_SB()
gyorgy@0 251 {
gyorgy@0 252 document.error_disp_handler.EnableOnPageDisplay(true);
gyorgy@0 253 }
gyorgy@0 254
gyorgy@0 255 function sfm_ErrorDisplayHandler()
gyorgy@0 256 {
gyorgy@0 257 this.msgdisplay = new AlertMsgDisplayer();
gyorgy@0 258 this.EnableOnPageDisplay = edh_EnableOnPageDisplay;
gyorgy@0 259 this.ShowMsg = edh_ShowMsg;
gyorgy@0 260 this.FinalShowMsg = edh_FinalShowMsg;
gyorgy@0 261 this.all_msgs = new Array();
gyorgy@0 262 this.clear_msgs = edh_clear_msgs;
gyorgy@0 263 }
gyorgy@0 264
gyorgy@0 265 function edh_clear_msgs()
gyorgy@0 266 {
gyorgy@0 267 this.msgdisplay.clearmsg(this.all_msgs);
gyorgy@0 268 this.all_msgs = new Array();
gyorgy@0 269 }
gyorgy@0 270
gyorgy@0 271 function edh_FinalShowMsg()
gyorgy@0 272 {
gyorgy@0 273 if (this.all_msgs.length == 0)
gyorgy@0 274 {
gyorgy@0 275 return;
gyorgy@0 276 }
gyorgy@0 277 this.msgdisplay.showmsg(this.all_msgs);
gyorgy@0 278 }
gyorgy@0 279
gyorgy@0 280 function edh_EnableOnPageDisplay(single_box)
gyorgy@0 281 {
gyorgy@0 282 if (true == single_box)
gyorgy@0 283 {
gyorgy@0 284 this.msgdisplay = new SingleBoxErrorDisplay();
gyorgy@0 285 }
gyorgy@0 286 else
gyorgy@0 287 {
gyorgy@0 288 this.msgdisplay = new DivMsgDisplayer();
gyorgy@0 289 }
gyorgy@0 290 }
gyorgy@0 291
gyorgy@0 292 function edh_ShowMsg(msg, input_element)
gyorgy@0 293 {
gyorgy@0 294 var objmsg = new Array();
gyorgy@0 295 objmsg["input_element"] = input_element;
gyorgy@0 296 objmsg["msg"] = msg;
gyorgy@0 297 this.all_msgs.push(objmsg);
gyorgy@0 298 }
gyorgy@0 299
gyorgy@0 300 function AlertMsgDisplayer()
gyorgy@0 301 {
gyorgy@0 302 this.showmsg = alert_showmsg;
gyorgy@0 303 this.clearmsg = alert_clearmsg;
gyorgy@0 304 }
gyorgy@0 305
gyorgy@0 306 function alert_clearmsg(msgs)
gyorgy@0 307 {
gyorgy@0 308
gyorgy@0 309 }
gyorgy@0 310
gyorgy@0 311 function alert_showmsg(msgs)
gyorgy@0 312 {
gyorgy@0 313 var whole_msg = "";
gyorgy@0 314 var first_elmnt = null;
gyorgy@0 315 for (var m = 0; m < msgs.length; m++)
gyorgy@0 316 {
gyorgy@0 317 if (null == first_elmnt)
gyorgy@0 318 {
gyorgy@0 319 first_elmnt = msgs[m]["input_element"];
gyorgy@0 320 }
gyorgy@0 321 whole_msg += msgs[m]["msg"] + "\n";
gyorgy@0 322 }
gyorgy@0 323
gyorgy@0 324 alert(whole_msg);
gyorgy@0 325
gyorgy@0 326 if (null != first_elmnt)
gyorgy@0 327 {
gyorgy@0 328 sfm_set_focus(first_elmnt);
gyorgy@0 329 }
gyorgy@0 330 }
gyorgy@0 331
gyorgy@0 332 function sfm_show_error_msg(msg, input_elmt)
gyorgy@0 333 {
gyorgy@0 334 document.error_disp_handler.ShowMsg(msg, input_elmt);
gyorgy@0 335 }
gyorgy@0 336
gyorgy@0 337 function SingleBoxErrorDisplay()
gyorgy@0 338 {
gyorgy@0 339 this.showmsg = sb_div_showmsg;
gyorgy@0 340 this.clearmsg = sb_div_clearmsg;
gyorgy@0 341 }
gyorgy@0 342
gyorgy@0 343 function sb_div_clearmsg(msgs)
gyorgy@0 344 {
gyorgy@0 345 var divname = form_error_div_name(msgs);
gyorgy@0 346 sfm_show_div_msg(divname, "");
gyorgy@0 347 }
gyorgy@0 348
gyorgy@0 349 function sb_div_showmsg(msgs)
gyorgy@0 350 {
gyorgy@0 351 var whole_msg = "<ul>\n";
gyorgy@0 352 for (var m = 0; m < msgs.length; m++)
gyorgy@0 353 {
gyorgy@0 354 whole_msg += "<li>" + msgs[m]["msg"] + "</li>\n";
gyorgy@0 355 }
gyorgy@0 356 whole_msg += "</ul>";
gyorgy@0 357 var divname = form_error_div_name(msgs);
gyorgy@0 358 var anc_name = divname + "_loc";
gyorgy@0 359 whole_msg = "<a name='" + anc_name + "' >" + whole_msg;
gyorgy@0 360
gyorgy@0 361 sfm_show_div_msg(divname, whole_msg);
gyorgy@0 362
gyorgy@0 363 window.location.hash = anc_name;
gyorgy@0 364 }
gyorgy@0 365
gyorgy@0 366 function form_error_div_name(msgs)
gyorgy@0 367 {
gyorgy@0 368 var input_element = null;
gyorgy@0 369
gyorgy@0 370 for (var m in msgs)
gyorgy@0 371 {
gyorgy@0 372 input_element = msgs[m]["input_element"];
gyorgy@0 373 if (input_element)
gyorgy@0 374 {
gyorgy@0 375 break;
gyorgy@0 376 }
gyorgy@0 377 }
gyorgy@0 378
gyorgy@0 379 var divname = "";
gyorgy@0 380 if (input_element)
gyorgy@0 381 {
gyorgy@0 382 divname = input_element.form._sfm_form_name + "_errorloc";
gyorgy@0 383 }
gyorgy@0 384
gyorgy@0 385 return divname;
gyorgy@0 386 }
gyorgy@0 387
gyorgy@0 388 function sfm_show_div_msg(divname,msgstring)
gyorgy@0 389 {
gyorgy@0 390 if(divname.length<=0) return false;
gyorgy@0 391
gyorgy@0 392 if(document.layers)
gyorgy@0 393 {
gyorgy@0 394 divlayer = document.layers[divname];
gyorgy@0 395 if(!divlayer){return;}
gyorgy@0 396 divlayer.document.open();
gyorgy@0 397 divlayer.document.write(msgstring);
gyorgy@0 398 divlayer.document.close();
gyorgy@0 399 }
gyorgy@0 400 else
gyorgy@0 401 if(document.all)
gyorgy@0 402 {
gyorgy@0 403 divlayer = document.all[divname];
gyorgy@0 404 if(!divlayer){return;}
gyorgy@0 405 divlayer.innerHTML=msgstring;
gyorgy@0 406 }
gyorgy@0 407 else
gyorgy@0 408 if(document.getElementById)
gyorgy@0 409 {
gyorgy@0 410 divlayer = document.getElementById(divname);
gyorgy@0 411 if(!divlayer){return;}
gyorgy@0 412 divlayer.innerHTML =msgstring;
gyorgy@0 413 }
gyorgy@0 414 divlayer.style.visibility="visible";
gyorgy@0 415 return false;
gyorgy@0 416 }
gyorgy@0 417
gyorgy@0 418 function DivMsgDisplayer()
gyorgy@0 419 {
gyorgy@0 420 this.showmsg = div_showmsg;
gyorgy@0 421 this.clearmsg = div_clearmsg;
gyorgy@0 422 }
gyorgy@0 423
gyorgy@0 424 function div_clearmsg(msgs)
gyorgy@0 425 {
gyorgy@0 426 for (var m in msgs)
gyorgy@0 427 {
gyorgy@0 428 var divname = element_div_name(msgs[m]["input_element"]);
gyorgy@0 429 show_div_msg(divname, "");
gyorgy@0 430 }
gyorgy@0 431 }
gyorgy@0 432
gyorgy@0 433 function element_div_name(input_element)
gyorgy@0 434 {
gyorgy@0 435 var divname = input_element.form._sfm_form_name + "_" + input_element.name + "_errorloc";
gyorgy@0 436
gyorgy@0 437 divname = divname.replace(/[\[\]]/gi, "");
gyorgy@0 438
gyorgy@0 439 return divname;
gyorgy@0 440 }
gyorgy@0 441
gyorgy@0 442 function div_showmsg(msgs)
gyorgy@0 443 {
gyorgy@0 444 var whole_msg;
gyorgy@0 445 var first_elmnt = null;
gyorgy@0 446 for (var m in msgs)
gyorgy@0 447 {
gyorgy@0 448 if (null == first_elmnt)
gyorgy@0 449 {
gyorgy@0 450 first_elmnt = msgs[m]["input_element"];
gyorgy@0 451 }
gyorgy@0 452 var divname = element_div_name(msgs[m]["input_element"]);
gyorgy@0 453 show_div_msg(divname, msgs[m]["msg"]);
gyorgy@0 454 }
gyorgy@0 455 if (null != first_elmnt)
gyorgy@0 456 {
gyorgy@0 457 sfm_set_focus(first_elmnt);
gyorgy@0 458 }
gyorgy@0 459 }
gyorgy@0 460
gyorgy@0 461 function show_div_msg(divname, msgstring)
gyorgy@0 462 {
gyorgy@0 463 if (divname.length <= 0) return false;
gyorgy@0 464
gyorgy@0 465 if (document.layers)
gyorgy@0 466 {
gyorgy@0 467 divlayer = document.layers[divname];
gyorgy@0 468 if (!divlayer)
gyorgy@0 469 {
gyorgy@0 470 return;
gyorgy@0 471 }
gyorgy@0 472 divlayer.document.open();
gyorgy@0 473 divlayer.document.write(msgstring);
gyorgy@0 474 divlayer.document.close();
gyorgy@0 475 }
gyorgy@0 476 else if (document.all)
gyorgy@0 477 {
gyorgy@0 478 divlayer = document.all[divname];
gyorgy@0 479 if (!divlayer)
gyorgy@0 480 {
gyorgy@0 481 return;
gyorgy@0 482 }
gyorgy@0 483 divlayer.innerHTML = msgstring;
gyorgy@0 484 }
gyorgy@0 485 else if (document.getElementById)
gyorgy@0 486 {
gyorgy@0 487 divlayer = document.getElementById(divname);
gyorgy@0 488 if (!divlayer)
gyorgy@0 489 {
gyorgy@0 490 return;
gyorgy@0 491 }
gyorgy@0 492 divlayer.innerHTML = msgstring;
gyorgy@0 493 }
gyorgy@0 494 divlayer.style.visibility = "visible";
gyorgy@0 495 }
gyorgy@0 496
gyorgy@0 497 function ValidationDesc(inputitem, desc, error, condition)
gyorgy@0 498 {
gyorgy@0 499 this.desc = desc;
gyorgy@0 500 this.error = error;
gyorgy@0 501 this.itemobj = inputitem;
gyorgy@0 502 this.condition = condition;
gyorgy@0 503 this.validate = vdesc_validate;
gyorgy@0 504 }
gyorgy@0 505
gyorgy@0 506 function vdesc_validate()
gyorgy@0 507 {
gyorgy@0 508 if (this.condition != null)
gyorgy@0 509 {
gyorgy@0 510 if (!eval(this.condition))
gyorgy@0 511 {
gyorgy@0 512 return true;
gyorgy@0 513 }
gyorgy@0 514 }
gyorgy@0 515 if (!validateInput(this.desc, this.itemobj, this.error))
gyorgy@0 516 {
gyorgy@0 517 this.itemobj.validatorobj.focus_disable_validations = true;
gyorgy@0 518 sfm_set_focus(this.itemobj);
gyorgy@0 519 return false;
gyorgy@0 520 }
gyorgy@0 521
gyorgy@0 522 return true;
gyorgy@0 523 }
gyorgy@0 524
gyorgy@0 525 function ValidationSet(inputitem, msgs_together)
gyorgy@0 526 {
gyorgy@0 527 this.vSet = new Array();
gyorgy@0 528 this.add = add_validationdesc;
gyorgy@0 529 this.validate = vset_validate;
gyorgy@0 530 this.itemobj = inputitem;
gyorgy@0 531 this.msgs_together = msgs_together;
gyorgy@0 532 }
gyorgy@0 533
gyorgy@0 534 function add_validationdesc(desc, error, condition)
gyorgy@0 535 {
gyorgy@0 536 this.vSet[this.vSet.length] =
gyorgy@0 537 new ValidationDesc(this.itemobj, desc, error, condition);
gyorgy@0 538 }
gyorgy@0 539
gyorgy@0 540 function vset_validate()
gyorgy@0 541 {
gyorgy@0 542 var bRet = true;
gyorgy@0 543 for (var itr = 0; itr < this.vSet.length; itr++)
gyorgy@0 544 {
gyorgy@0 545 bRet = bRet && this.vSet[itr].validate();
gyorgy@0 546 if (!bRet && !this.msgs_together)
gyorgy@0 547 {
gyorgy@0 548 break;
gyorgy@0 549 }
gyorgy@0 550 }
gyorgy@0 551 return bRet;
gyorgy@0 552 }
gyorgy@0 553
gyorgy@0 554 /* checks the validity of an email address entered
gyorgy@0 555 * returns true or false
gyorgy@0 556 */
gyorgy@0 557 function validateEmail(email)
gyorgy@0 558 {
gyorgy@0 559 var splitted = email.match("^(.+)@(.+)$");
gyorgy@0 560 if (splitted == null) return false;
gyorgy@0 561 if (splitted[1] != null)
gyorgy@0 562 {
gyorgy@0 563 var regexp_user = /^\"?[\w-_\.]*\"?$/;
gyorgy@0 564 if (splitted[1].match(regexp_user) == null) return false;
gyorgy@0 565 }
gyorgy@0 566 if (splitted[2] != null)
gyorgy@0 567 {
gyorgy@0 568 var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/;
gyorgy@0 569 if (splitted[2].match(regexp_domain) == null)
gyorgy@0 570 {
gyorgy@0 571 var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
gyorgy@0 572 if (splitted[2].match(regexp_ip) == null) return false;
gyorgy@0 573 } // if
gyorgy@0 574 return true;
gyorgy@0 575 }
gyorgy@0 576 return false;
gyorgy@0 577 }
gyorgy@0 578
gyorgy@0 579 function TestComparison(objValue, strCompareElement, strvalidator, strError)
gyorgy@0 580 {
gyorgy@0 581 var bRet = true;
gyorgy@0 582 var objCompare = null;
gyorgy@0 583 if (!objValue.form)
gyorgy@0 584 {
gyorgy@0 585 sfm_show_error_msg("Error: No Form object!", objValue);
gyorgy@0 586 return false
gyorgy@0 587 }
gyorgy@0 588 objCompare = objValue.form.elements[strCompareElement];
gyorgy@0 589 if (!objCompare)
gyorgy@0 590 {
gyorgy@0 591 sfm_show_error_msg("Error: Element with name" + strCompareElement + " not found !", objValue);
gyorgy@0 592 return false;
gyorgy@0 593 }
gyorgy@0 594
gyorgy@0 595 var objval_value = objValue.value;
gyorgy@0 596 var objcomp_value = objCompare.value;
gyorgy@0 597
gyorgy@0 598 if (strvalidator != "eqelmnt" && strvalidator != "neelmnt")
gyorgy@0 599 {
gyorgy@0 600 objval_value = objval_value.replace(/\,/g, "");
gyorgy@0 601 objcomp_value = objcomp_value.replace(/\,/g, "");
gyorgy@0 602
gyorgy@0 603 if (isNaN(objval_value))
gyorgy@0 604 {
gyorgy@0 605 sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);
gyorgy@0 606 return false;
gyorgy@0 607 } //if
gyorgy@0 608 if (isNaN(objcomp_value))
gyorgy@0 609 {
gyorgy@0 610 sfm_show_error_msg(objCompare.name + ": Should be a number ", objCompare);
gyorgy@0 611 return false;
gyorgy@0 612 } //if
gyorgy@0 613 } //if
gyorgy@0 614 var cmpstr = "";
gyorgy@0 615 switch (strvalidator)
gyorgy@0 616 {
gyorgy@0 617 case "eqelmnt":
gyorgy@0 618 {
gyorgy@0 619 if (objval_value != objcomp_value)
gyorgy@0 620 {
gyorgy@0 621 cmpstr = " should be equal to ";
gyorgy@0 622 bRet = false;
gyorgy@0 623 } //if
gyorgy@0 624 break;
gyorgy@0 625 } //case
gyorgy@0 626 case "ltelmnt":
gyorgy@0 627 {
gyorgy@0 628 if (eval(objval_value) >= eval(objcomp_value))
gyorgy@0 629 {
gyorgy@0 630 cmpstr = " should be less than ";
gyorgy@0 631 bRet = false;
gyorgy@0 632 }
gyorgy@0 633 break;
gyorgy@0 634 } //case
gyorgy@0 635 case "leelmnt":
gyorgy@0 636 {
gyorgy@0 637 if (eval(objval_value) > eval(objcomp_value))
gyorgy@0 638 {
gyorgy@0 639 cmpstr = " should be less than or equal to";
gyorgy@0 640 bRet = false;
gyorgy@0 641 }
gyorgy@0 642 break;
gyorgy@0 643 } //case
gyorgy@0 644 case "gtelmnt":
gyorgy@0 645 {
gyorgy@0 646 if (eval(objval_value) <= eval(objcomp_value))
gyorgy@0 647 {
gyorgy@0 648 cmpstr = " should be greater than";
gyorgy@0 649 bRet = false;
gyorgy@0 650 }
gyorgy@0 651 break;
gyorgy@0 652 } //case
gyorgy@0 653 case "geelmnt":
gyorgy@0 654 {
gyorgy@0 655 if (eval(objval_value) < eval(objcomp_value))
gyorgy@0 656 {
gyorgy@0 657 cmpstr = " should be greater than or equal to";
gyorgy@0 658 bRet = false;
gyorgy@0 659 }
gyorgy@0 660 break;
gyorgy@0 661 } //case
gyorgy@0 662 case "neelmnt":
gyorgy@0 663 {
gyorgy@0 664 if (objval_value.length > 0 && objcomp_value.length > 0 && objval_value == objcomp_value)
gyorgy@0 665 {
gyorgy@0 666 cmpstr = " should be different from ";
gyorgy@0 667 bRet = false;
gyorgy@0 668 } //if
gyorgy@0 669 break;
gyorgy@0 670 }
gyorgy@0 671 } //switch
gyorgy@0 672 if (bRet == false)
gyorgy@0 673 {
gyorgy@0 674 if (!strError || strError.length == 0)
gyorgy@0 675 {
gyorgy@0 676 strError = objValue.name + cmpstr + objCompare.name;
gyorgy@0 677 } //if
gyorgy@0 678 sfm_show_error_msg(strError, objValue);
gyorgy@0 679 } //if
gyorgy@0 680 return bRet;
gyorgy@0 681 }
gyorgy@0 682
gyorgy@0 683 function TestSelMin(objValue, strMinSel, strError)
gyorgy@0 684 {
gyorgy@0 685 var bret = true;
gyorgy@0 686 var objcheck = objValue.form.elements[objValue.name];
gyorgy@0 687 var chkcount = 0;
gyorgy@0 688 if (objcheck.length)
gyorgy@0 689 {
gyorgy@0 690 for (var c = 0; c < objcheck.length; c++)
gyorgy@0 691 {
gyorgy@0 692 if (objcheck[c].checked == "1")
gyorgy@0 693 {
gyorgy@0 694 chkcount++;
gyorgy@0 695 } //if
gyorgy@0 696 } //for
gyorgy@0 697 }
gyorgy@0 698 else
gyorgy@0 699 {
gyorgy@0 700 chkcount = (objcheck.checked == "1") ? 1 : 0;
gyorgy@0 701 }
gyorgy@0 702 var minsel = eval(strMinSel);
gyorgy@0 703 if (chkcount < minsel)
gyorgy@0 704 {
gyorgy@0 705 if (!strError || strError.length == 0)
gyorgy@0 706 {
gyorgy@0 707 strError = "Please Select atleast" + minsel + " check boxes for" + objValue.name;
gyorgy@0 708 } //if
gyorgy@0 709 sfm_show_error_msg(strError, objValue);
gyorgy@0 710 bret = false;
gyorgy@0 711 }
gyorgy@0 712 return bret;
gyorgy@0 713 }
gyorgy@0 714
gyorgy@0 715 function TestSelMax(objValue, strMaxSel, strError)
gyorgy@0 716 {
gyorgy@0 717 var bret = true;
gyorgy@0 718 var objcheck = objValue.form.elements[objValue.name];
gyorgy@0 719 var chkcount = 0;
gyorgy@0 720 if (objcheck.length)
gyorgy@0 721 {
gyorgy@0 722 for (var c = 0; c < objcheck.length; c++)
gyorgy@0 723 {
gyorgy@0 724 if (objcheck[c].checked == "1")
gyorgy@0 725 {
gyorgy@0 726 chkcount++;
gyorgy@0 727 } //if
gyorgy@0 728 } //for
gyorgy@0 729 }
gyorgy@0 730 else
gyorgy@0 731 {
gyorgy@0 732 chkcount = (objcheck.checked == "1") ? 1 : 0;
gyorgy@0 733 }
gyorgy@0 734 var maxsel = eval(strMaxSel);
gyorgy@0 735 if (chkcount > maxsel)
gyorgy@0 736 {
gyorgy@0 737 if (!strError || strError.length == 0)
gyorgy@0 738 {
gyorgy@0 739 strError = "Please Select atmost " + maxsel + " check boxes for" + objValue.name;
gyorgy@0 740 } //if
gyorgy@0 741 sfm_show_error_msg(strError, objValue);
gyorgy@0 742 bret = false;
gyorgy@0 743 }
gyorgy@0 744 return bret;
gyorgy@0 745 }
gyorgy@0 746
gyorgy@0 747 function IsCheckSelected(objValue, chkValue)
gyorgy@0 748 {
gyorgy@0 749 var selected = false;
gyorgy@0 750 var objcheck = objValue.form.elements[objValue.name];
gyorgy@0 751 if (objcheck.length)
gyorgy@0 752 {
gyorgy@0 753 var idxchk = -1;
gyorgy@0 754 for (var c = 0; c < objcheck.length; c++)
gyorgy@0 755 {
gyorgy@0 756 if (objcheck[c].value == chkValue)
gyorgy@0 757 {
gyorgy@0 758 idxchk = c;
gyorgy@0 759 break;
gyorgy@0 760 } //if
gyorgy@0 761 } //for
gyorgy@0 762 if (idxchk >= 0)
gyorgy@0 763 {
gyorgy@0 764 if (objcheck[idxchk].checked == "1")
gyorgy@0 765 {
gyorgy@0 766 selected = true;
gyorgy@0 767 }
gyorgy@0 768 } //if
gyorgy@0 769 }
gyorgy@0 770 else
gyorgy@0 771 {
gyorgy@0 772 if (objValue.checked == "1")
gyorgy@0 773 {
gyorgy@0 774 selected = true;
gyorgy@0 775 } //if
gyorgy@0 776 } //else
gyorgy@0 777 return selected;
gyorgy@0 778 }
gyorgy@0 779
gyorgy@0 780 function TestDontSelectChk(objValue, chkValue, strError)
gyorgy@0 781 {
gyorgy@0 782 var pass = true;
gyorgy@0 783 pass = IsCheckSelected(objValue, chkValue) ? false : true;
gyorgy@0 784
gyorgy@0 785 if (pass == false)
gyorgy@0 786 {
gyorgy@0 787 if (!strError || strError.length == 0)
gyorgy@0 788 {
gyorgy@0 789 strError = "Can't Proceed as you selected " + objValue.name;
gyorgy@0 790 } //if
gyorgy@0 791 sfm_show_error_msg(strError, objValue);
gyorgy@0 792
gyorgy@0 793 }
gyorgy@0 794 return pass;
gyorgy@0 795 }
gyorgy@0 796
gyorgy@0 797 function TestShouldSelectChk(objValue, chkValue, strError)
gyorgy@0 798 {
gyorgy@0 799 var pass = true;
gyorgy@0 800
gyorgy@0 801 pass = IsCheckSelected(objValue, chkValue) ? true : false;
gyorgy@0 802
gyorgy@0 803 if (pass == false)
gyorgy@0 804 {
gyorgy@0 805 if (!strError || strError.length == 0)
gyorgy@0 806 {
gyorgy@0 807 strError = "You should select" + objValue.name;
gyorgy@0 808 } //if
gyorgy@0 809 sfm_show_error_msg(strError, objValue);
gyorgy@0 810
gyorgy@0 811 }
gyorgy@0 812 return pass;
gyorgy@0 813 }
gyorgy@0 814
gyorgy@0 815 function TestRequiredInput(objValue, strError)
gyorgy@0 816 {
gyorgy@0 817 var ret = true;
gyorgy@0 818 if (VWZ_IsEmpty(objValue.value))
gyorgy@0 819 {
gyorgy@0 820 ret = false;
gyorgy@0 821 } //if
gyorgy@0 822 else if (objValue.getcal && !objValue.getcal())
gyorgy@0 823 {
gyorgy@0 824 ret = false;
gyorgy@0 825 }
gyorgy@0 826
gyorgy@0 827 if (!ret)
gyorgy@0 828 {
gyorgy@0 829 if (!strError || strError.length == 0)
gyorgy@0 830 {
gyorgy@0 831 strError = objValue.name + " : Required Field";
gyorgy@0 832 } //if
gyorgy@0 833 sfm_show_error_msg(strError, objValue);
gyorgy@0 834 }
gyorgy@0 835 return ret;
gyorgy@0 836 }
gyorgy@0 837
gyorgy@0 838 function TestFileExtension(objValue, cmdvalue, strError)
gyorgy@0 839 {
gyorgy@0 840 var ret = false;
gyorgy@0 841 var found = false;
gyorgy@0 842
gyorgy@0 843 if (objValue.value.length <= 0)
gyorgy@0 844 { //The 'required' validation is not done here
gyorgy@0 845 return true;
gyorgy@0 846 }
gyorgy@0 847
gyorgy@0 848 var extns = cmdvalue.split(";");
gyorgy@0 849 for (var i = 0; i < extns.length; i++)
gyorgy@0 850 {
gyorgy@0 851 ext = objValue.value.substr(objValue.value.length - extns[i].length, extns[i].length);
gyorgy@0 852 ext = ext.toLowerCase();
gyorgy@0 853 if (ext == extns[i])
gyorgy@0 854 {
gyorgy@0 855 found = true;
gyorgy@0 856 break;
gyorgy@0 857 }
gyorgy@0 858 }
gyorgy@0 859 if (!found)
gyorgy@0 860 {
gyorgy@0 861 if (!strError || strError.length == 0)
gyorgy@0 862 {
gyorgy@0 863 strError = objValue.name + " allowed file extensions are: " + cmdvalue;
gyorgy@0 864 } //if
gyorgy@0 865 sfm_show_error_msg(strError, objValue);
gyorgy@0 866 ret = false;
gyorgy@0 867 }
gyorgy@0 868 else
gyorgy@0 869 {
gyorgy@0 870 ret = true;
gyorgy@0 871 }
gyorgy@0 872 return ret;
gyorgy@0 873 }
gyorgy@0 874
gyorgy@0 875 function TestMaxLen(objValue, strMaxLen, strError)
gyorgy@0 876 {
gyorgy@0 877 var ret = true;
gyorgy@0 878 if (eval(objValue.value.length) > eval(strMaxLen))
gyorgy@0 879 {
gyorgy@0 880 if (!strError || strError.length == 0)
gyorgy@0 881 {
gyorgy@0 882 strError = objValue.name + " : " + strMaxLen + " characters maximum ";
gyorgy@0 883 } //if
gyorgy@0 884 sfm_show_error_msg(strError, objValue);
gyorgy@0 885 ret = false;
gyorgy@0 886 } //if
gyorgy@0 887 return ret;
gyorgy@0 888 }
gyorgy@0 889
gyorgy@0 890 function TestMinLen(objValue, strMinLen, strError)
gyorgy@0 891 {
gyorgy@0 892 var ret = true;
gyorgy@0 893 if (eval(objValue.value.length) < eval(strMinLen))
gyorgy@0 894 {
gyorgy@0 895 if (!strError || strError.length == 0)
gyorgy@0 896 {
gyorgy@0 897 strError = objValue.name + " : " + strMinLen + " characters minimum ";
gyorgy@0 898 } //if
gyorgy@0 899 sfm_show_error_msg(strError, objValue);
gyorgy@0 900 ret = false;
gyorgy@0 901 } //if
gyorgy@0 902 return ret;
gyorgy@0 903 }
gyorgy@0 904
gyorgy@0 905 function TestInputType(objValue, strRegExp, strError, strDefaultError)
gyorgy@0 906 {
gyorgy@0 907 var ret = true;
gyorgy@0 908
gyorgy@0 909 var charpos = objValue.value.search(strRegExp);
gyorgy@0 910 if (objValue.value.length > 0 && charpos >= 0)
gyorgy@0 911 {
gyorgy@0 912 if (!strError || strError.length == 0)
gyorgy@0 913 {
gyorgy@0 914 strError = strDefaultError;
gyorgy@0 915 } //if
gyorgy@0 916 sfm_show_error_msg(strError, objValue);
gyorgy@0 917 ret = false;
gyorgy@0 918 } //if
gyorgy@0 919 return ret;
gyorgy@0 920 }
gyorgy@0 921
gyorgy@0 922 function TestEmail(objValue, strError)
gyorgy@0 923 {
gyorgy@0 924 var ret = true;
gyorgy@0 925 if (objValue.value.length > 0 && !validateEmail(objValue.value))
gyorgy@0 926 {
gyorgy@0 927 if (!strError || strError.length == 0)
gyorgy@0 928 {
gyorgy@0 929 strError = objValue.name + ": Enter a valid Email address ";
gyorgy@0 930 } //if
gyorgy@0 931 sfm_show_error_msg(strError, objValue);
gyorgy@0 932 ret = false;
gyorgy@0 933 } //if
gyorgy@0 934 return ret;
gyorgy@0 935 }
gyorgy@0 936
gyorgy@0 937 function TestLessThan(objValue, strLessThan, strError)
gyorgy@0 938 {
gyorgy@0 939 var ret = true;
gyorgy@0 940 var obj_value = objValue.value.replace(/\,/g, "");
gyorgy@0 941 strLessThan = strLessThan.replace(/\,/g, "");
gyorgy@0 942
gyorgy@0 943 if (isNaN(obj_value))
gyorgy@0 944 {
gyorgy@0 945 sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);
gyorgy@0 946 ret = false;
gyorgy@0 947 } //if
gyorgy@0 948 else if (eval(obj_value) >= eval(strLessThan))
gyorgy@0 949 {
gyorgy@0 950 if (!strError || strError.length == 0)
gyorgy@0 951 {
gyorgy@0 952 strError = objValue.name + " : value should be less than " + strLessThan;
gyorgy@0 953 } //if
gyorgy@0 954 sfm_show_error_msg(strError, objValue);
gyorgy@0 955 ret = false;
gyorgy@0 956 } //if
gyorgy@0 957 return ret;
gyorgy@0 958 }
gyorgy@0 959
gyorgy@0 960 function TestGreaterThan(objValue, strGreaterThan, strError)
gyorgy@0 961 {
gyorgy@0 962 var ret = true;
gyorgy@0 963 var obj_value = objValue.value.replace(/\,/g, "");
gyorgy@0 964 strGreaterThan = strGreaterThan.replace(/\,/g, "");
gyorgy@0 965
gyorgy@0 966 if (isNaN(obj_value))
gyorgy@0 967 {
gyorgy@0 968 sfm_show_error_msg(objValue.name + ": Should be a number ", objValue);
gyorgy@0 969 ret = false;
gyorgy@0 970 } //if
gyorgy@0 971 else if (eval(obj_value) <= eval(strGreaterThan))
gyorgy@0 972 {
gyorgy@0 973 if (!strError || strError.length == 0)
gyorgy@0 974 {
gyorgy@0 975 strError = objValue.name + " : value should be greater than " + strGreaterThan;
gyorgy@0 976 } //if
gyorgy@0 977 sfm_show_error_msg(strError, objValue);
gyorgy@0 978 ret = false;
gyorgy@0 979 } //if
gyorgy@0 980 return ret;
gyorgy@0 981 }
gyorgy@0 982
gyorgy@0 983 function TestRegExp(objValue, strRegExp, strError)
gyorgy@0 984 {
gyorgy@0 985 var ret = true;
gyorgy@0 986 if (objValue.value.length > 0 && !objValue.value.match(strRegExp))
gyorgy@0 987 {
gyorgy@0 988 if (!strError || strError.length == 0)
gyorgy@0 989 {
gyorgy@0 990 strError = objValue.name + ": Invalid characters found ";
gyorgy@0 991 } //if
gyorgy@0 992 sfm_show_error_msg(strError, objValue);
gyorgy@0 993 ret = false;
gyorgy@0 994 } //if
gyorgy@0 995 return ret;
gyorgy@0 996 }
gyorgy@0 997
gyorgy@0 998 function TestDontSelect(objValue, dont_sel_value, strError)
gyorgy@0 999 {
gyorgy@0 1000 var ret = true;
gyorgy@0 1001 if (objValue.value == null)
gyorgy@0 1002 {
gyorgy@0 1003 sfm_show_error_msg("Error: dontselect command for non-select Item", objValue);
gyorgy@0 1004 ret = false;
gyorgy@0 1005 }
gyorgy@0 1006 else if (objValue.value == dont_sel_value)
gyorgy@0 1007 {
gyorgy@0 1008 if (!strError || strError.length == 0)
gyorgy@0 1009 {
gyorgy@0 1010 strError = objValue.name + ": Please Select one option ";
gyorgy@0 1011 } //if
gyorgy@0 1012 sfm_show_error_msg(strError, objValue);
gyorgy@0 1013 ret = false;
gyorgy@0 1014 }
gyorgy@0 1015 return ret;
gyorgy@0 1016 }
gyorgy@0 1017
gyorgy@0 1018 function TestSelectOneRadio(objValue, strError)
gyorgy@0 1019 {
gyorgy@0 1020 var objradio = objValue.form.elements[objValue.name];
gyorgy@0 1021 var one_selected = false;
gyorgy@0 1022 for (var r = 0; r < objradio.length; r++)
gyorgy@0 1023 {
gyorgy@0 1024 if (objradio[r].checked == "1")
gyorgy@0 1025 {
gyorgy@0 1026 one_selected = true;
gyorgy@0 1027 break;
gyorgy@0 1028 }
gyorgy@0 1029 }
gyorgy@0 1030 if (false == one_selected)
gyorgy@0 1031 {
gyorgy@0 1032 if (!strError || strError.length == 0)
gyorgy@0 1033 {
gyorgy@0 1034 strError = "Please select one option from " + objValue.name;
gyorgy@0 1035 }
gyorgy@0 1036 sfm_show_error_msg(strError, objValue);
gyorgy@0 1037 }
gyorgy@0 1038 return one_selected;
gyorgy@0 1039 }
gyorgy@0 1040
gyorgy@0 1041 function TestSelectRadio(objValue, cmdvalue, strError, testselect)
gyorgy@0 1042 {
gyorgy@0 1043 var objradio = objValue.form.elements[objValue.name];
gyorgy@0 1044 var selected = false;
gyorgy@0 1045
gyorgy@0 1046 for (var r = 0; r < objradio.length; r++)
gyorgy@0 1047 {
gyorgy@0 1048 if (objradio[r].value == cmdvalue && objradio[r].checked == "1")
gyorgy@0 1049 {
gyorgy@0 1050 selected = true;
gyorgy@0 1051 break;
gyorgy@0 1052 }
gyorgy@0 1053 }
gyorgy@0 1054 if (testselect == true && false == selected || testselect == false && true == selected)
gyorgy@0 1055 {
gyorgy@0 1056 sfm_show_error_msg(strError, objValue);
gyorgy@0 1057 return false;
gyorgy@0 1058 }
gyorgy@0 1059 return true;
gyorgy@0 1060 }
gyorgy@0 1061
gyorgy@0 1062
gyorgy@0 1063 //* Checks each field in a form
gyorgy@0 1064
gyorgy@0 1065
gyorgy@0 1066 function validateInput(strValidateStr, objValue, strError)
gyorgy@0 1067 {
gyorgy@0 1068
gyorgy@0 1069 var ret = true;
gyorgy@0 1070 var epos = strValidateStr.search("=");
gyorgy@0 1071 var command = "";
gyorgy@0 1072 var cmdvalue = "";
gyorgy@0 1073 if (epos >= 0)
gyorgy@0 1074 {
gyorgy@0 1075 command = strValidateStr.substring(0, epos);
gyorgy@0 1076 cmdvalue = strValidateStr.substr(epos + 1);
gyorgy@0 1077 }
gyorgy@0 1078 else
gyorgy@0 1079 {
gyorgy@0 1080 command = strValidateStr;
gyorgy@0 1081 }
gyorgy@0 1082
gyorgy@0 1083 switch (command)
gyorgy@0 1084 {
gyorgy@0 1085 case "req":
gyorgy@0 1086 case "required":
gyorgy@0 1087 {
gyorgy@0 1088 ret = TestRequiredInput(objValue, strError)
gyorgy@0 1089 break;
gyorgy@0 1090 }
gyorgy@0 1091 case "maxlength":
gyorgy@0 1092 case "maxlen":
gyorgy@0 1093 {
gyorgy@0 1094 ret = TestMaxLen(objValue, cmdvalue, strError)
gyorgy@0 1095 break;
gyorgy@0 1096 }
gyorgy@0 1097 case "minlength":
gyorgy@0 1098 case "minlen":
gyorgy@0 1099 {
gyorgy@0 1100 ret = TestMinLen(objValue, cmdvalue, strError)
gyorgy@0 1101 break;
gyorgy@0 1102 }
gyorgy@0 1103 case "alnum":
gyorgy@0 1104 case "alphanumeric":
gyorgy@0 1105 {
gyorgy@0 1106 ret = TestInputType(objValue, "[^A-Za-z0-9]", strError, objValue.name + ": Only alpha-numeric characters allowed ");
gyorgy@0 1107 break;
gyorgy@0 1108 }
gyorgy@0 1109 case "alnum_s":
gyorgy@0 1110 case "alphanumeric_space":
gyorgy@0 1111 {
gyorgy@0 1112 ret = TestInputType(objValue, "[^A-Za-z0-9\\s]", strError, objValue.name + ": Only alpha-numeric characters and space allowed ");
gyorgy@0 1113 break;
gyorgy@0 1114 }
gyorgy@0 1115 case "num":
gyorgy@0 1116 case "numeric":
gyorgy@0 1117 case "dec":
gyorgy@0 1118 case "decimal":
gyorgy@0 1119 {
gyorgy@0 1120 if (objValue.value.length > 0 && !objValue.value.match(/^[\-\+]?[\d\,]*\.?[\d]*$/))
gyorgy@0 1121 {
gyorgy@0 1122 sfm_show_error_msg(strError, objValue);
gyorgy@0 1123 ret = false;
gyorgy@0 1124 } //if
gyorgy@0 1125 break;
gyorgy@0 1126 }
gyorgy@0 1127 case "alphabetic":
gyorgy@0 1128 case "alpha":
gyorgy@0 1129 {
gyorgy@0 1130 ret = TestInputType(objValue, "[^A-Za-z]", strError, objValue.name + ": Only alphabetic characters allowed ");
gyorgy@0 1131 break;
gyorgy@0 1132 }
gyorgy@0 1133 case "alphabetic_space":
gyorgy@0 1134 case "alpha_s":
gyorgy@0 1135 {
gyorgy@0 1136 ret = TestInputType(objValue, "[^A-Za-z\\s]", strError, objValue.name + ": Only alphabetic characters and space allowed ");
gyorgy@0 1137 break;
gyorgy@0 1138 }
gyorgy@0 1139 case "email":
gyorgy@0 1140 {
gyorgy@0 1141 ret = TestEmail(objValue, strError);
gyorgy@0 1142 break;
gyorgy@0 1143 }
gyorgy@0 1144 case "lt":
gyorgy@0 1145 case "lessthan":
gyorgy@0 1146 {
gyorgy@0 1147 ret = TestLessThan(objValue, cmdvalue, strError);
gyorgy@0 1148 break;
gyorgy@0 1149 }
gyorgy@0 1150 case "gt":
gyorgy@0 1151 case "greaterthan":
gyorgy@0 1152 {
gyorgy@0 1153 ret = TestGreaterThan(objValue, cmdvalue, strError);
gyorgy@0 1154 break;
gyorgy@0 1155 }
gyorgy@0 1156 case "regexp":
gyorgy@0 1157 {
gyorgy@0 1158 ret = TestRegExp(objValue, cmdvalue, strError);
gyorgy@0 1159 break;
gyorgy@0 1160 }
gyorgy@0 1161 case "dontselect":
gyorgy@0 1162 {
gyorgy@0 1163 ret = TestDontSelect(objValue, cmdvalue, strError)
gyorgy@0 1164 break;
gyorgy@0 1165 }
gyorgy@0 1166 case "dontselectchk":
gyorgy@0 1167 {
gyorgy@0 1168 ret = TestDontSelectChk(objValue, cmdvalue, strError)
gyorgy@0 1169 break;
gyorgy@0 1170 }
gyorgy@0 1171 case "shouldselchk":
gyorgy@0 1172 {
gyorgy@0 1173 ret = TestShouldSelectChk(objValue, cmdvalue, strError)
gyorgy@0 1174 break;
gyorgy@0 1175 }
gyorgy@0 1176 case "selmin":
gyorgy@0 1177 {
gyorgy@0 1178 ret = TestSelMin(objValue, cmdvalue, strError);
gyorgy@0 1179 break;
gyorgy@0 1180 }
gyorgy@0 1181 case "selmax":
gyorgy@0 1182 {
gyorgy@0 1183 ret = TestSelMax(objValue, cmdvalue, strError);
gyorgy@0 1184 break;
gyorgy@0 1185 }
gyorgy@0 1186 case "selone_radio":
gyorgy@0 1187 case "selone":
gyorgy@0 1188 {
gyorgy@0 1189 ret = TestSelectOneRadio(objValue, strError);
gyorgy@0 1190 break;
gyorgy@0 1191 }
gyorgy@0 1192 case "dontselectradio":
gyorgy@0 1193 {
gyorgy@0 1194 ret = TestSelectRadio(objValue, cmdvalue, strError, false);
gyorgy@0 1195 break;
gyorgy@0 1196 }
gyorgy@0 1197 case "selectradio":
gyorgy@0 1198 {
gyorgy@0 1199 ret = TestSelectRadio(objValue, cmdvalue, strError, true);
gyorgy@0 1200 break;
gyorgy@0 1201 }
gyorgy@0 1202 //Comparisons
gyorgy@0 1203 case "eqelmnt":
gyorgy@0 1204 case "ltelmnt":
gyorgy@0 1205 case "leelmnt":
gyorgy@0 1206 case "gtelmnt":
gyorgy@0 1207 case "geelmnt":
gyorgy@0 1208 case "neelmnt":
gyorgy@0 1209 {
gyorgy@0 1210 return TestComparison(objValue, cmdvalue, command, strError);
gyorgy@0 1211 break;
gyorgy@0 1212 }
gyorgy@0 1213 case "req_file":
gyorgy@0 1214 {
gyorgy@0 1215 ret = TestRequiredInput(objValue, strError);
gyorgy@0 1216 break;
gyorgy@0 1217 }
gyorgy@0 1218 case "file_extn":
gyorgy@0 1219 {
gyorgy@0 1220 ret = TestFileExtension(objValue, cmdvalue, strError);
gyorgy@0 1221 break;
gyorgy@0 1222 }
gyorgy@0 1223
gyorgy@0 1224 } //switch
gyorgy@0 1225 return ret;
gyorgy@0 1226 }
gyorgy@0 1227
gyorgy@0 1228 function VWZ_IsListItemSelected(listname, value)
gyorgy@0 1229 {
gyorgy@0 1230 for (var i = 0; i < listname.options.length; i++)
gyorgy@0 1231 {
gyorgy@0 1232 if (listname.options[i].selected == true && listname.options[i].value == value)
gyorgy@0 1233 {
gyorgy@0 1234 return true;
gyorgy@0 1235 }
gyorgy@0 1236 }
gyorgy@0 1237 return false;
gyorgy@0 1238 }
gyorgy@0 1239
gyorgy@0 1240 function VWZ_IsChecked(objcheck, value)
gyorgy@0 1241 {
gyorgy@0 1242 if (objcheck.length)
gyorgy@0 1243 {
gyorgy@0 1244 for (var c = 0; c < objcheck.length; c++)
gyorgy@0 1245 {
gyorgy@0 1246 if (objcheck[c].checked == "1" && objcheck[c].value == value)
gyorgy@0 1247 {
gyorgy@0 1248 return true;
gyorgy@0 1249 }
gyorgy@0 1250 }
gyorgy@0 1251 }
gyorgy@0 1252 else
gyorgy@0 1253 {
gyorgy@0 1254 if (objcheck.checked == "1")
gyorgy@0 1255 {
gyorgy@0 1256 return true;
gyorgy@0 1257 }
gyorgy@0 1258 }
gyorgy@0 1259 return false;
gyorgy@0 1260 }
gyorgy@0 1261
gyorgy@0 1262 function sfm_str_trim(strIn)
gyorgy@0 1263 {
gyorgy@0 1264 return strIn.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
gyorgy@0 1265 }
gyorgy@0 1266
gyorgy@0 1267 function VWZ_IsEmpty(value)
gyorgy@0 1268 {
gyorgy@0 1269 value = sfm_str_trim(value);
gyorgy@0 1270 return (value.length) == 0 ? true : false;
gyorgy@0 1271 }
gyorgy@0 1272 /*
gyorgy@0 1273 Copyright (C) 2003-2011 JavaScript-Coder.com . All rights reserved.
gyorgy@0 1274 */