Mercurial > hg > env-test-daniele
diff js/gen_validatorv4.js @ 0:032bc65ebafc
added core components
author | George Fazekas <gyorgy.fazekas@eecs.qmul.ac.uk> |
---|---|
date | Wed, 06 Mar 2013 15:45:48 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/js/gen_validatorv4.js Wed Mar 06 15:45:48 2013 +0000 @@ -0,0 +1,1274 @@ +/* + ------------------------------------------------------------------------- + JavaScript Form Validator (gen_validatorv4.js) + Version 4.0 + Copyright (C) 2003-2011 JavaScript-Coder.com. All rights reserved. + You can freely use this script in your Web pages. + You may adapt this script for your own needs, provided these opening credit + lines are kept intact. + + The Form validation script is distributed free from JavaScript-Coder.com + For updates, please visit: + http://www.javascript-coder.com/html-form/javascript-form-validation.phtml + + Questions & comments please send to form.val (at) javascript-coder.com + ------------------------------------------------------------------------- +*/ + +function Validator(frmname) +{ + this.validate_on_killfocus = false; + this.formobj = document.forms[frmname]; + if (!this.formobj) + { + alert("Error: couldnot get Form object " + frmname); + return; + } + if (this.formobj.onsubmit) + { + this.formobj.old_onsubmit = this.formobj.onsubmit; + this.formobj.onsubmit = null; + } + else + { + this.formobj.old_onsubmit = null; + } + this.formobj._sfm_form_name = frmname; + + this.formobj.onsubmit = form_submit_handler; + this.addValidation = add_validation; + + this.formobj.addnlvalidations = new Array(); + this.addAddnlValidationFunction = add_addnl_vfunction; + this.formobj.runAddnlValidations = run_addnl_validations; + this.setAddnlValidationFunction = set_addnl_vfunction;//for backward compatibility + + + this.clearAllValidations = clear_all_validations; + this.focus_disable_validations = false; + + document.error_disp_handler = new sfm_ErrorDisplayHandler(); + + this.EnableOnPageErrorDisplay = validator_enable_OPED; + this.EnableOnPageErrorDisplaySingleBox = validator_enable_OPED_SB; + + this.show_errors_together = false; + this.EnableMsgsTogether = sfm_enable_show_msgs_together; + document.set_focus_onerror = true; + this.EnableFocusOnError = sfm_validator_enable_focus; + + this.formobj.error_display_loc = 'right'; + this.SetMessageDisplayPos = sfm_validator_message_disp_pos; + + this.formobj.DisableValidations = sfm_disable_validations; + this.formobj.validatorobj = this; +} + + +function sfm_validator_enable_focus(enable) +{ + document.set_focus_onerror = enable; +} + +function add_addnl_vfunction() +{ + var proc = + { + }; + proc.func = arguments[0]; + proc.arguments = []; + + for (var i = 1; i < arguments.length; i++) + { + proc.arguments.push(arguments[i]); + } + this.formobj.addnlvalidations.push(proc); +} + +function set_addnl_vfunction(functionname) +{ + if(functionname.constructor == String) + { + alert("Pass the function name like this: validator.setAddnlValidationFunction(DoCustomValidation)\n "+ + "rather than passing the function name as string"); + return; + } + this.addAddnlValidationFunction(functionname); +} + +function run_addnl_validations() +{ + var ret = true; + for (var f = 0; f < this.addnlvalidations.length; f++) + { + var proc = this.addnlvalidations[f]; + var args = proc.arguments || []; + if (!proc.func.apply(null, args)) + { + ret = false; + } + } + return ret; +} + +function sfm_set_focus(objInput) +{ + if (document.set_focus_onerror) + { + if (!objInput.disabled && objInput.type != 'hidden') + { + objInput.focus(); + } + } +} + +function sfm_disable_validations() +{ + if (this.old_onsubmit) + { + this.onsubmit = this.old_onsubmit; + } + else + { + this.onsubmit = null; + } +} + +function sfm_enable_show_msgs_together() +{ + this.show_errors_together = true; + this.formobj.show_errors_together = true; +} + +function sfm_validator_message_disp_pos(pos) +{ + this.formobj.error_display_loc = pos; +} + +function clear_all_validations() +{ + for (var itr = 0; itr < this.formobj.elements.length; itr++) + { + this.formobj.elements[itr].validationset = null; + } +} + +function form_submit_handler() +{ + var bRet = true; + document.error_disp_handler.clear_msgs(); + for (var itr = 0; itr < this.elements.length; itr++) + { + if (this.elements[itr].validationset && !this.elements[itr].validationset.validate()) + { + bRet = false; + } + if (!bRet && !this.show_errors_together) + { + break; + } + } + + if (this.show_errors_together || bRet && !this.show_errors_together) + { + if (!this.runAddnlValidations()) + { + bRet = false; + } + } + if (!bRet) + { + document.error_disp_handler.FinalShowMsg(); + return false; + } + return true; +} + +function add_validation(itemname, descriptor, errstr) +{ + var condition = null; + if (arguments.length > 3) + { + condition = arguments[3]; + } + if (!this.formobj) + { + alert("Error: The form object is not set properly"); + return; + } //if + var itemobj = this.formobj[itemname]; + + if (itemobj.length && isNaN(itemobj.selectedIndex)) + //for radio button; don't do for 'select' item + { + itemobj = itemobj[0]; + } + if (!itemobj) + { + alert("Error: Couldnot get the input object named: " + itemname); + return; + } + if (true == this.validate_on_killfocus) + { + itemobj.onblur = handle_item_on_killfocus; + } + if (!itemobj.validationset) + { + itemobj.validationset = new ValidationSet(itemobj, this.show_errors_together); + } + itemobj.validationset.add(descriptor, errstr, condition); + itemobj.validatorobj = this; +} + +function handle_item_on_killfocus() +{ + if (this.validatorobj.focus_disable_validations == true) + { + /* + To avoid repeated looping message boxes + */ + this.validatorobj.focus_disable_validations = false; + return false; + } + + if (null != this.validationset) + { + document.error_disp_handler.clear_msgs(); + if (false == this.validationset.validate()) + { + document.error_disp_handler.FinalShowMsg(); + return false; + } + } +} + +function validator_enable_OPED() +{ + document.error_disp_handler.EnableOnPageDisplay(false); +} + +function validator_enable_OPED_SB() +{ + document.error_disp_handler.EnableOnPageDisplay(true); +} + +function sfm_ErrorDisplayHandler() +{ + this.msgdisplay = new AlertMsgDisplayer(); + this.EnableOnPageDisplay = edh_EnableOnPageDisplay; + this.ShowMsg = edh_ShowMsg; + this.FinalShowMsg = edh_FinalShowMsg; + this.all_msgs = new Array(); + this.clear_msgs = edh_clear_msgs; +} + +function edh_clear_msgs() +{ + this.msgdisplay.clearmsg(this.all_msgs); + this.all_msgs = new Array(); +} + +function edh_FinalShowMsg() +{ + if (this.all_msgs.length == 0) + { + return; + } + this.msgdisplay.showmsg(this.all_msgs); +} + +function edh_EnableOnPageDisplay(single_box) +{ + if (true == single_box) + { + this.msgdisplay = new SingleBoxErrorDisplay(); + } + else + { + this.msgdisplay = new DivMsgDisplayer(); + } +} + +function edh_ShowMsg(msg, input_element) +{ + var objmsg = new Array(); + objmsg["input_element"] = input_element; + objmsg["msg"] = msg; + this.all_msgs.push(objmsg); +} + +function AlertMsgDisplayer() +{ + this.showmsg = alert_showmsg; + this.clearmsg = alert_clearmsg; +} + +function alert_clearmsg(msgs) +{ + +} + +function alert_showmsg(msgs) +{ + var whole_msg = ""; + var first_elmnt = null; + for (var m = 0; m < msgs.length; m++) + { + if (null == first_elmnt) + { + first_elmnt = msgs[m]["input_element"]; + } + whole_msg += msgs[m]["msg"] + "\n"; + } + + alert(whole_msg); + + if (null != first_elmnt) + { + sfm_set_focus(first_elmnt); + } +} + +function sfm_show_error_msg(msg, input_elmt) +{ + document.error_disp_handler.ShowMsg(msg, input_elmt); +} + +function SingleBoxErrorDisplay() +{ + this.showmsg = sb_div_showmsg; + this.clearmsg = sb_div_clearmsg; +} + +function sb_div_clearmsg(msgs) +{ + var divname = form_error_div_name(msgs); + sfm_show_div_msg(divname, ""); +} + +function sb_div_showmsg(msgs) +{ + var whole_msg = "<ul>\n"; + for (var m = 0; m < msgs.length; m++) + { + whole_msg += "<li>" + msgs[m]["msg"] + "</li>\n"; + } + whole_msg += "</ul>"; + var divname = form_error_div_name(msgs); + var anc_name = divname + "_loc"; + whole_msg = "<a name='" + anc_name + "' >" + whole_msg; + + sfm_show_div_msg(divname, whole_msg); + + window.location.hash = anc_name; +} + +function form_error_div_name(msgs) +{ + var input_element = null; + + for (var m in msgs) + { + input_element = msgs[m]["input_element"]; + if (input_element) + { + break; + } + } + + var divname = ""; + if (input_element) + { + divname = input_element.form._sfm_form_name + "_errorloc"; + } + + return divname; +} + +function sfm_show_div_msg(divname,msgstring) +{ + if(divname.length<=0) return false; + + if(document.layers) + { + divlayer = document.layers[divname]; + if(!divlayer){return;} + divlayer.document.open(); + divlayer.document.write(msgstring); + divlayer.document.close(); + } + else + if(document.all) + { + divlayer = document.all[divname]; + if(!divlayer){return;} + divlayer.innerHTML=msgstring; + } + else + if(document.getElementById) + { + divlayer = document.getElementById(divname); + if(!divlayer){return;} + divlayer.innerHTML =msgstring; + } + divlayer.style.visibility="visible"; + return false; +} + +function DivMsgDisplayer() +{ + this.showmsg = div_showmsg; + this.clearmsg = div_clearmsg; +} + +function div_clearmsg(msgs) +{ + for (var m in msgs) + { + var divname = element_div_name(msgs[m]["input_element"]); + show_div_msg(divname, ""); + } +} + +function element_div_name(input_element) +{ + var divname = input_element.form._sfm_form_name + "_" + input_element.name + "_errorloc"; + + divname = divname.replace(/[\[\]]/gi, ""); + + return divname; +} + +function div_showmsg(msgs) +{ + var whole_msg; + var first_elmnt = null; + for (var m in msgs) + { + if (null == first_elmnt) + { + first_elmnt = msgs[m]["input_element"]; + } + var divname = element_div_name(msgs[m]["input_element"]); + show_div_msg(divname, msgs[m]["msg"]); + } + if (null != first_elmnt) + { + sfm_set_focus(first_elmnt); + } +} + +function show_div_msg(divname, msgstring) +{ + if (divname.length <= 0) return false; + + if (document.layers) + { + divlayer = document.layers[divname]; + if (!divlayer) + { + return; + } + divlayer.document.open(); + divlayer.document.write(msgstring); + divlayer.document.close(); + } + else if (document.all) + { + divlayer = document.all[divname]; + if (!divlayer) + { + return; + } + divlayer.innerHTML = msgstring; + } + else if (document.getElementById) + { + divlayer = document.getElementById(divname); + if (!divlayer) + { + return; + } + divlayer.innerHTML = msgstring; + } + divlayer.style.visibility = "visible"; +} + +function ValidationDesc(inputitem, desc, error, condition) +{ + this.desc = desc; + this.error = error; + this.itemobj = inputitem; + this.condition = condition; + this.validate = vdesc_validate; +} + +function vdesc_validate() +{ + if (this.condition != null) + { + if (!eval(this.condition)) + { + return true; + } + } + if (!validateInput(this.desc, this.itemobj, this.error)) + { + this.itemobj.validatorobj.focus_disable_validations = true; + sfm_set_focus(this.itemobj); + return false; + } + + return true; +} + +function ValidationSet(inputitem, msgs_together) +{ + this.vSet = new Array(); + this.add = add_validationdesc; + this.validate = vset_validate; + this.itemobj = inputitem; + this.msgs_together = msgs_together; +} + +function add_validationdesc(desc, error, condition) +{ + this.vSet[this.vSet.length] = + new ValidationDesc(this.itemobj, desc, error, condition); +} + +function vset_validate() +{ + var bRet = true; + for (var itr = 0; itr < this.vSet.length; itr++) + { + bRet = bRet && this.vSet[itr].validate(); + if (!bRet && !this.msgs_together) + { + break; + } + } + return bRet; +} + +/* checks the validity of an email address entered +* returns true or false +*/ +function validateEmail(email) +{ + var splitted = email.match("^(.+)@(.+)$"); + if (splitted == null) return false; + if (splitted[1] != null) + { + var regexp_user = /^\"?[\w-_\.]*\"?$/; + if (splitted[1].match(regexp_user) == null) return false; + } + if (splitted[2] != null) + { + var regexp_domain = /^[\w-\.]*\.[A-Za-z]{2,4}$/; + if (splitted[2].match(regexp_domain) == null) + { + var regexp_ip = /^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/; + if (splitted[2].match(regexp_ip) == null) return false; + } // if + return true; + } + return false; +} + +function TestComparison(objValue, strCompareElement, strvalidator, strError) +{ + var bRet = true; + var objCompare = null; + if (!objValue.form) + { + sfm_show_error_msg("Error: No Form object!", objValue); + return false + } + objCompare = objValue.form.elements[strCompareElement]; + if (!objCompare) + { + sfm_show_error_msg("Error: Element with name" + strCompareElement + " not found !", objValue); + return false; + } + + var objval_value = objValue.value; + var objcomp_value = objCompare.value; + + if (strvalidator != "eqelmnt" && strvalidator != "neelmnt") + { + objval_value = objval_value.replace(/\,/g, ""); + objcomp_value = objcomp_value.replace(/\,/g, ""); + + if (isNaN(objval_value)) + { + sfm_show_error_msg(objValue.name + ": Should be a number ", objValue); + return false; + } //if + if (isNaN(objcomp_value)) + { + sfm_show_error_msg(objCompare.name + ": Should be a number ", objCompare); + return false; + } //if + } //if + var cmpstr = ""; + switch (strvalidator) + { + case "eqelmnt": + { + if (objval_value != objcomp_value) + { + cmpstr = " should be equal to "; + bRet = false; + } //if + break; + } //case + case "ltelmnt": + { + if (eval(objval_value) >= eval(objcomp_value)) + { + cmpstr = " should be less than "; + bRet = false; + } + break; + } //case + case "leelmnt": + { + if (eval(objval_value) > eval(objcomp_value)) + { + cmpstr = " should be less than or equal to"; + bRet = false; + } + break; + } //case + case "gtelmnt": + { + if (eval(objval_value) <= eval(objcomp_value)) + { + cmpstr = " should be greater than"; + bRet = false; + } + break; + } //case + case "geelmnt": + { + if (eval(objval_value) < eval(objcomp_value)) + { + cmpstr = " should be greater than or equal to"; + bRet = false; + } + break; + } //case + case "neelmnt": + { + if (objval_value.length > 0 && objcomp_value.length > 0 && objval_value == objcomp_value) + { + cmpstr = " should be different from "; + bRet = false; + } //if + break; + } + } //switch + if (bRet == false) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + cmpstr + objCompare.name; + } //if + sfm_show_error_msg(strError, objValue); + } //if + return bRet; +} + +function TestSelMin(objValue, strMinSel, strError) +{ + var bret = true; + var objcheck = objValue.form.elements[objValue.name]; + var chkcount = 0; + if (objcheck.length) + { + for (var c = 0; c < objcheck.length; c++) + { + if (objcheck[c].checked == "1") + { + chkcount++; + } //if + } //for + } + else + { + chkcount = (objcheck.checked == "1") ? 1 : 0; + } + var minsel = eval(strMinSel); + if (chkcount < minsel) + { + if (!strError || strError.length == 0) + { + strError = "Please Select atleast" + minsel + " check boxes for" + objValue.name; + } //if + sfm_show_error_msg(strError, objValue); + bret = false; + } + return bret; +} + +function TestSelMax(objValue, strMaxSel, strError) +{ + var bret = true; + var objcheck = objValue.form.elements[objValue.name]; + var chkcount = 0; + if (objcheck.length) + { + for (var c = 0; c < objcheck.length; c++) + { + if (objcheck[c].checked == "1") + { + chkcount++; + } //if + } //for + } + else + { + chkcount = (objcheck.checked == "1") ? 1 : 0; + } + var maxsel = eval(strMaxSel); + if (chkcount > maxsel) + { + if (!strError || strError.length == 0) + { + strError = "Please Select atmost " + maxsel + " check boxes for" + objValue.name; + } //if + sfm_show_error_msg(strError, objValue); + bret = false; + } + return bret; +} + +function IsCheckSelected(objValue, chkValue) +{ + var selected = false; + var objcheck = objValue.form.elements[objValue.name]; + if (objcheck.length) + { + var idxchk = -1; + for (var c = 0; c < objcheck.length; c++) + { + if (objcheck[c].value == chkValue) + { + idxchk = c; + break; + } //if + } //for + if (idxchk >= 0) + { + if (objcheck[idxchk].checked == "1") + { + selected = true; + } + } //if + } + else + { + if (objValue.checked == "1") + { + selected = true; + } //if + } //else + return selected; +} + +function TestDontSelectChk(objValue, chkValue, strError) +{ + var pass = true; + pass = IsCheckSelected(objValue, chkValue) ? false : true; + + if (pass == false) + { + if (!strError || strError.length == 0) + { + strError = "Can't Proceed as you selected " + objValue.name; + } //if + sfm_show_error_msg(strError, objValue); + + } + return pass; +} + +function TestShouldSelectChk(objValue, chkValue, strError) +{ + var pass = true; + + pass = IsCheckSelected(objValue, chkValue) ? true : false; + + if (pass == false) + { + if (!strError || strError.length == 0) + { + strError = "You should select" + objValue.name; + } //if + sfm_show_error_msg(strError, objValue); + + } + return pass; +} + +function TestRequiredInput(objValue, strError) +{ + var ret = true; + if (VWZ_IsEmpty(objValue.value)) + { + ret = false; + } //if + else if (objValue.getcal && !objValue.getcal()) + { + ret = false; + } + + if (!ret) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + " : Required Field"; + } //if + sfm_show_error_msg(strError, objValue); + } + return ret; +} + +function TestFileExtension(objValue, cmdvalue, strError) +{ + var ret = false; + var found = false; + + if (objValue.value.length <= 0) + { //The 'required' validation is not done here + return true; + } + + var extns = cmdvalue.split(";"); + for (var i = 0; i < extns.length; i++) + { + ext = objValue.value.substr(objValue.value.length - extns[i].length, extns[i].length); + ext = ext.toLowerCase(); + if (ext == extns[i]) + { + found = true; + break; + } + } + if (!found) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + " allowed file extensions are: " + cmdvalue; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } + else + { + ret = true; + } + return ret; +} + +function TestMaxLen(objValue, strMaxLen, strError) +{ + var ret = true; + if (eval(objValue.value.length) > eval(strMaxLen)) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + " : " + strMaxLen + " characters maximum "; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestMinLen(objValue, strMinLen, strError) +{ + var ret = true; + if (eval(objValue.value.length) < eval(strMinLen)) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + " : " + strMinLen + " characters minimum "; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestInputType(objValue, strRegExp, strError, strDefaultError) +{ + var ret = true; + + var charpos = objValue.value.search(strRegExp); + if (objValue.value.length > 0 && charpos >= 0) + { + if (!strError || strError.length == 0) + { + strError = strDefaultError; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestEmail(objValue, strError) +{ + var ret = true; + if (objValue.value.length > 0 && !validateEmail(objValue.value)) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + ": Enter a valid Email address "; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestLessThan(objValue, strLessThan, strError) +{ + var ret = true; + var obj_value = objValue.value.replace(/\,/g, ""); + strLessThan = strLessThan.replace(/\,/g, ""); + + if (isNaN(obj_value)) + { + sfm_show_error_msg(objValue.name + ": Should be a number ", objValue); + ret = false; + } //if + else if (eval(obj_value) >= eval(strLessThan)) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + " : value should be less than " + strLessThan; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestGreaterThan(objValue, strGreaterThan, strError) +{ + var ret = true; + var obj_value = objValue.value.replace(/\,/g, ""); + strGreaterThan = strGreaterThan.replace(/\,/g, ""); + + if (isNaN(obj_value)) + { + sfm_show_error_msg(objValue.name + ": Should be a number ", objValue); + ret = false; + } //if + else if (eval(obj_value) <= eval(strGreaterThan)) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + " : value should be greater than " + strGreaterThan; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestRegExp(objValue, strRegExp, strError) +{ + var ret = true; + if (objValue.value.length > 0 && !objValue.value.match(strRegExp)) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + ": Invalid characters found "; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + return ret; +} + +function TestDontSelect(objValue, dont_sel_value, strError) +{ + var ret = true; + if (objValue.value == null) + { + sfm_show_error_msg("Error: dontselect command for non-select Item", objValue); + ret = false; + } + else if (objValue.value == dont_sel_value) + { + if (!strError || strError.length == 0) + { + strError = objValue.name + ": Please Select one option "; + } //if + sfm_show_error_msg(strError, objValue); + ret = false; + } + return ret; +} + +function TestSelectOneRadio(objValue, strError) +{ + var objradio = objValue.form.elements[objValue.name]; + var one_selected = false; + for (var r = 0; r < objradio.length; r++) + { + if (objradio[r].checked == "1") + { + one_selected = true; + break; + } + } + if (false == one_selected) + { + if (!strError || strError.length == 0) + { + strError = "Please select one option from " + objValue.name; + } + sfm_show_error_msg(strError, objValue); + } + return one_selected; +} + +function TestSelectRadio(objValue, cmdvalue, strError, testselect) +{ + var objradio = objValue.form.elements[objValue.name]; + var selected = false; + + for (var r = 0; r < objradio.length; r++) + { + if (objradio[r].value == cmdvalue && objradio[r].checked == "1") + { + selected = true; + break; + } + } + if (testselect == true && false == selected || testselect == false && true == selected) + { + sfm_show_error_msg(strError, objValue); + return false; + } + return true; +} + + +//* Checks each field in a form + + +function validateInput(strValidateStr, objValue, strError) +{ + + var ret = true; + var epos = strValidateStr.search("="); + var command = ""; + var cmdvalue = ""; + if (epos >= 0) + { + command = strValidateStr.substring(0, epos); + cmdvalue = strValidateStr.substr(epos + 1); + } + else + { + command = strValidateStr; + } + + switch (command) + { + case "req": + case "required": + { + ret = TestRequiredInput(objValue, strError) + break; + } + case "maxlength": + case "maxlen": + { + ret = TestMaxLen(objValue, cmdvalue, strError) + break; + } + case "minlength": + case "minlen": + { + ret = TestMinLen(objValue, cmdvalue, strError) + break; + } + case "alnum": + case "alphanumeric": + { + ret = TestInputType(objValue, "[^A-Za-z0-9]", strError, objValue.name + ": Only alpha-numeric characters allowed "); + break; + } + case "alnum_s": + case "alphanumeric_space": + { + ret = TestInputType(objValue, "[^A-Za-z0-9\\s]", strError, objValue.name + ": Only alpha-numeric characters and space allowed "); + break; + } + case "num": + case "numeric": + case "dec": + case "decimal": + { + if (objValue.value.length > 0 && !objValue.value.match(/^[\-\+]?[\d\,]*\.?[\d]*$/)) + { + sfm_show_error_msg(strError, objValue); + ret = false; + } //if + break; + } + case "alphabetic": + case "alpha": + { + ret = TestInputType(objValue, "[^A-Za-z]", strError, objValue.name + ": Only alphabetic characters allowed "); + break; + } + case "alphabetic_space": + case "alpha_s": + { + ret = TestInputType(objValue, "[^A-Za-z\\s]", strError, objValue.name + ": Only alphabetic characters and space allowed "); + break; + } + case "email": + { + ret = TestEmail(objValue, strError); + break; + } + case "lt": + case "lessthan": + { + ret = TestLessThan(objValue, cmdvalue, strError); + break; + } + case "gt": + case "greaterthan": + { + ret = TestGreaterThan(objValue, cmdvalue, strError); + break; + } + case "regexp": + { + ret = TestRegExp(objValue, cmdvalue, strError); + break; + } + case "dontselect": + { + ret = TestDontSelect(objValue, cmdvalue, strError) + break; + } + case "dontselectchk": + { + ret = TestDontSelectChk(objValue, cmdvalue, strError) + break; + } + case "shouldselchk": + { + ret = TestShouldSelectChk(objValue, cmdvalue, strError) + break; + } + case "selmin": + { + ret = TestSelMin(objValue, cmdvalue, strError); + break; + } + case "selmax": + { + ret = TestSelMax(objValue, cmdvalue, strError); + break; + } + case "selone_radio": + case "selone": + { + ret = TestSelectOneRadio(objValue, strError); + break; + } + case "dontselectradio": + { + ret = TestSelectRadio(objValue, cmdvalue, strError, false); + break; + } + case "selectradio": + { + ret = TestSelectRadio(objValue, cmdvalue, strError, true); + break; + } + //Comparisons + case "eqelmnt": + case "ltelmnt": + case "leelmnt": + case "gtelmnt": + case "geelmnt": + case "neelmnt": + { + return TestComparison(objValue, cmdvalue, command, strError); + break; + } + case "req_file": + { + ret = TestRequiredInput(objValue, strError); + break; + } + case "file_extn": + { + ret = TestFileExtension(objValue, cmdvalue, strError); + break; + } + + } //switch + return ret; +} + +function VWZ_IsListItemSelected(listname, value) +{ + for (var i = 0; i < listname.options.length; i++) + { + if (listname.options[i].selected == true && listname.options[i].value == value) + { + return true; + } + } + return false; +} + +function VWZ_IsChecked(objcheck, value) +{ + if (objcheck.length) + { + for (var c = 0; c < objcheck.length; c++) + { + if (objcheck[c].checked == "1" && objcheck[c].value == value) + { + return true; + } + } + } + else + { + if (objcheck.checked == "1") + { + return true; + } + } + return false; +} + +function sfm_str_trim(strIn) +{ + return strIn.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); +} + +function VWZ_IsEmpty(value) +{ + value = sfm_str_trim(value); + return (value.length) == 0 ? true : false; +} +/* + Copyright (C) 2003-2011 JavaScript-Coder.com . All rights reserved. +*/ \ No newline at end of file