/** * Global validation rules * Init for global events */ /** * The keycode is for keydown event to filter user input. * The charcode is for filter character. */ //Allowable keys for amount field is 0-9(48-57 & 96-105) var arrAmtKeys = new Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105); //Allowable keys for float field is the same with amount field var arrFloatKeys = new Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105); //Allowable keys for int field is 0-9(48-57 & 96-105) var arrIntKeys = new Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105); //Allowable keys for date field is -(45), /(47), 0-9(48-57 & 96-105) var arrDateKeys = new Array(45, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105); var arrAmtCharCodes = new Array(44, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57); //,.0123456789 var arrFloatCharCodes = new Array(46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57); //.0123456789 var arrIntCharCodes = new Array(48, 49, 50, 51, 52, 53, 54, 55, 56, 57); //0123456789 var arrDateCharCodes = new Array(45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57); //-./0123456789 var arrTimeCharCodes = new Array(58, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57); //:0123456789 //The uppsercase only charset var arrUpperCaseCharSet = new Array("S", "SS", "SY"); /** * Check keydown is main function to check user input, the keycode is capture keydown code */ function chkKeyDown(evt){ try { if (getEvtType(evt) != "keydown") { return; } var obj = getEvtTarget(evt); var sObjType = obj.type; var sClassNm = obj.className; var sDataType = ""; var sFldType = ""; var sFldNm = ""; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; //CEV2-john.zhong S if(sFldNm==""&&sClassNm.indexOf("input")>=0){ return true; } if(sFldNm=="OP2_VAL"&&sClassNm.indexOf("input")>=0){ return true; } if(sFldNm=="C_PRIVATE_MAIL"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="iUser"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="NEWPASSWORD"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="CONFPASSWORD"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="C_BUSINESS_UNIT"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="C_USER_ID"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="C_USER_DESC"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="C_AUTH_CODE"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="OLDPASSWORD"&&sClassNm.indexOf("inputBox")>=0){ return true; } if(sFldNm=="NEWPASSWORD"&&sClassNm.indexOf("inputBox")>=0){ return true; } if(sFldNm=="CONFPASSWORD"&&sClassNm.indexOf("inputBox")>=0){ return true; } if(sFldNm=="custmsg"&&sClassNm.indexOf("input")>=0){ return true; } if(sFldNm=="C_CAPTCHA_USRVAL"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="prim_Authcode"&&sClassNm.indexOf("")>=0){ return true; } //Gouse for enabling back space key for Company Code text field in SYS_Forgot_Password jsp if(sFldNm=="iCompany"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="C_PASSWORD"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="C_PASSWORD2"&&sClassNm.indexOf("form-control")>=0){ return true; } //gouse for dual factor - enabling back space key s if(sFldNm=="TWOFA_PASSWORD"&&sClassNm.indexOf("form-control")>=0){ return true; } if(sFldNm=="TWOFA_OTP"&&sClassNm.indexOf("form-control")>=0){ return true; } //gouse for dual factor - enabling back space key s if(sFldNm=="OLDPASSWORD"&&sClassNm.indexOf("CHAR_M")>=0){ return true; } if(sFldNm=="NEWPASSWORD"&&sClassNm.indexOf("CHAR_M")>=0){ return true; } if(sFldNm=="CONFPASSWORD"&&sClassNm.indexOf("CHAR_M")>=0){ return true; } //CEV2-john.zhong E sDataType = getFldDataType(sFldNm); sFldType = getFldType(sFldNm); var FldValue = getFldValue(sFldNm); var sOrgFldNm = "ORIG_" + sFldNm; if (sFldNm.length > 0 && sFldType == "P") { //stopEvent(evt); //Commented by Satheesh for enabling Ctrl+C on 24-11-2021 return false; } //create a hidden field for keep original value if (arrValidDataType.in_array(sDataType)) { //textarea, up arrow and down arrow button doesnt work. Change following code: from obj.parentNode to document.forms[0] --start // genHiddenFld(obj.parentNode, sOrgFldNm, FldValue, sDataType); genHiddenFld(document.forms[0], sOrgFldNm, FldValue, sDataType); //textarea, up arrow and down arrow button doesnt work. Change following code: from obj.parentNode to document.forms[0] --start } } var nKeyCode = getKeyCode(evt); var bRtnFlag = true; //its no point to disallow user press go back and refresh key because can not disallow //to do it from menu bar or navigation bar. if (isGoBack(evt) || isRefresh(evt)) { stopEvent(evt); return false; } //check obj type for not input to field var arrObjType = new Array("text", "textarea", "select-one", "password"); if (!arrObjType.in_array(sObjType)) { //function keys if (isFuncKey(evt)) { bRtnFlag = true; } else { stopEvent(evt); return false; } } // only setup date field value to "" when it is editable //if (bRtnFlag && sDataType == "DATE") { if (bRtnFlag && sDataType == "DATE"&&checkFieldEditAble(sFldNm)) { if (nKeyCode == 8) { setFldValue(sFldNm, ""); bRtnFlag = true; } else { bRtnFlag = false; } } if (bRtnFlag && sDataType == "AMT") { //nothing to do } if (bRtnFlag && sDataType == "FLOAT") { var sFldValue = obj.value; var arrDotKeyCode = new Array(110, 190); var arrFloatKeysTmp = new Array(); for (var i = 0; i < arrAmtKeys.length; i++) { arrFloatKeysTmp.push(arrFloatKeys[i]); } var bDotFlag = false; //if no . in amount value, allow to input if (sFldValue.indexOf(".") == -1) { arrFloatKeysTmp.push(110); arrFloatKeysTmp.push(190); } if (nKeyCode == 110 || nKeyCode == 190 || sFldValue.indexOf(".") != -1) { bDotFlag = true; } if (arrFloatKeysTmp.in_array(nKeyCode) && !evt.shiftKey) { bRtnFlag = true; } else { bRtnFlag = false; } } if (bRtnFlag && sDataType == "INT") { if (arrIntKeys.in_array(nKeyCode) && !evt.shiftKey) { bRtnFlag = true; } else { bRtnFlag = false; } } if (bRtnFlag && sDataType == "SEARCH") { if (nKeyCode == 8) { setFldValue(sFldNm, ""); bRtnFlag = true; } else { bRtnFlag = false; } } if (bRtnFlag && sDataType == "CHAR") { bRtnFlag = chkCharSetKeyDown(evt); //This is only change display, the charcode is original. //To change charcode is in ChKBlur() and submit. var sCharSet = obj.getAttribute("charset"); if ((sCharSet != undefined) && (arrUpperCaseCharSet.in_array(sCharSet))) { var arrStyle = obj.style; var bToUpCaseStyle = true; for (var i = 0; i < arrStyle.length; i++) { var sStyle = arrStyle[i]; if (sStyle == "text-transform") { bToUpCaseStyle = false; } } if (arrStyle.length == 0) { obj.setAttribute("style", "text-transform: uppercase"); } else { if (bToUpCaseStyle) { obj.style.textTransform = "uppercase"; } } } if (bRtnFlag && sObjType == "textarea") { var nReturnCode = chkTextArea(sFldNm); if (nReturnCode == 1 || nReturnCode == 3 || nReturnCode == 4) { bRtnFlag = false; } if (nReturnCode == 2 && isCRLF(nKeyCode)) { bRtnFlag = false; } } } //function keys if (isFuncKey(evt)) { bRtnFlag = true; } if (!bRtnFlag) { stopEvent(evt); return false; } else { if (!isFuncKey(evt)) { rmNode("Template_valSummary"); } } } catch (e) { showExcpt("Validation", e); } } /** * Check for key up event */ function chkKeyUp(evt){ try { if (getEvtType(evt) != "keyup") { return; } var obj = getEvtTarget(evt); var sObjType = obj.type; var sClassNm = obj.className; var sDataType = ""; var sFldNm = ""; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; //CEV2-john.zhong S if(sFldNm==""&&sClassNm.indexOf("input")>=0){ return true; } if(sFldNm=="OP2_VAL"&&sClassNm.indexOf("input")>=0){ return true; } //CEV2-john.zhong E if(sFldNm=="custmsg"&&sClassNm.indexOf("input")>=0){ return true; } sDataType = getFldDataType(sFldNm); var FldValue = getFldValue(sFldNm); var sOrgFldNm = "ORIG_" + sFldNm; } if(isMSIE&&sFldNm.length>0){ onAfterPaste(evt); } var bRtnFlag = true; //function keys if (isFuncKey(evt)) { return true; } var arrObjType = new Array("text", "textarea", "select-one", "password"); if (arrObjType.in_array(sObjType) && window.SYS_FUNCTION_TYPE && (SYS_FUNCTION_TYPE == "IQ" || SYS_FUNCTION_TYPE == "RE")) { stopEvent(evt); return false; } var nKeyCode = getKeyCode(evt); if (sDataType == "AMT") { if (!chkAmt(sFldNm)) { chkAmt(sOrgFldNm, true); bRtnFlag = false; } } if (sDataType == "FLOAT") { if (!chkFloat(sFldNm)) { chkFloat(sOrgFldNm, true); bRtnFlag = false; } } if (sDataType == "INT") { setFldValue(sFldNm, FldValue); } if (!bRtnFlag) { var OrgFldValue = getFldValue(sOrgFldNm); setFldValue(sFldNm, OrgFldValue); stopEvent(evt); return false; } } catch (e) { showExcpt("Validation", e); } } /** * Check for select event */ function chkSelect(evt){ try { if (getEvtType(evt) != "select") { return; } var obj = getEvtTarget(evt); var sObjType = obj.type; var sClassNm = obj.className; var sDataType = ""; var sFldNm = ""; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; sDataType = getFldDataType(sFldNm); var FldValue = getFldValue(sFldNm); } var bRtnFlag = true; if ((sDataType == "DATE") || (sDataType == "AMT")) { if(typeof(isChrom)!="undefined"&&!isChrom){ //modified by gouse for date/amount entering issue in chrome browser on 26-09-2016 obj.select(); } bRtnFlag = false; } if (!bRtnFlag) { stopEvent(evt); return false; } } catch (e) { showExcpt("Validation", e); } } //chkFocus is for copy original value to temp field function chkFocus(evt){ try { if (getEvtType(evt) != "focus") { return; } var obj = getEvtTarget(evt); var sObjType = obj.type; var arrObjType = new Array("text", "textarea"); //check obj type if (!arrObjType.in_array(sObjType)) { stopEvent(evt); return false; } var sClassNm = obj.className; var sDataType = ""; var sFldNm = ""; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; sDataType = getFldDataType(sFldNm); var FldValue = getFldValue(sFldNm); var sOrgFldNm = "ORIG_" + sFldNm; } var bRtnFlag = true; //create a hidden field for keep original value if (arrValidDataType.in_array(sDataType)) { genHiddenFld(obj.parentNode, sOrgFldNm, FldValue, sDataType); } if (sDataType == "AMT") { convStrToAmt(sFldNm); } //for get data from clause window, if the data is get from clause, //to fire onchange and check for paste if (chkWinNm("clauseWin")) { fireObjEvent(obj, "onchange"); chkPaste(sFldNm); } if (!bRtnFlag) { stopEvent(evt); return false; } } catch (e) { showExcpt("Validation", e); } } /** * Check is the window name in arChildWin (all child wins are in this array) * * @param string Window name * @return boolean return true if in it */ function chkWinNm(sWinNm){ try { var bRtnFlag = false; if (arChildWin.length == 0) { return bRtnFlag; } else { var nWinLen = arChildWin.length; } for (var i = 0; i < nWinLen; i++) { if(arChildWin[i]==null){ continue; } if (arChildWin[i].closed != true) { if (arChildWin[i].name == sWinNm) { bRtnFlag = true; } } } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } /** * To check field data after pasted */ function chkPaste(sFldNm){ try { var obj = document.getElementById(sFldNm); var sObjType = obj.type; var sFldValue = obj.value; var sCharSet = obj.getAttribute("charset"); var sDataType = getFldDataType(sFldNm); var sFldTitle = getFldTitle(sFldNm); var sOrgFldNm = "ORIG_" + sFldNm; var sOrgFldValue = ""; var arrIllegalCharCodes = new Array(); var arrIllegalChars = new Array(); var sIllegalChars = ""; var sErrMsg = ""; var bRtnFlag = true; if (document.getElementById(sOrgFldNm)) { sOrgFldValue = document.getElementById(sOrgFldNm).value; } //push field value to charcodes array and remove duplicates if(typeof(sFldValue)!="undefined") var arrCharCodesNoDup = sFldValue.convStrToCharCodesArray(true); //check field charcodes array with filter //keep illegal charcode into illegal charcode array if (sDataType == "AMT") { //convStrToAmt(sFldNm);//@deepak get fix from nanzing for amt fied to decimal 24062015 var intSepCode = SYS_AMT_INT_FORMAT.charCodeAt(0); var decSepCode = SYS_AMT_DEC_FORMAT.charCodeAt(0); arrAmtCharCodes[0] = intSepCode; arrAmtCharCodes[1] = decSepCode; arrIllegalCharCodes = arrCharCodesNoDup.chkCharCodesWithFilter(arrAmtCharCodes); } if (sDataType == "INT") { arrIllegalCharCodes = arrCharCodesNoDup.chkCharCodesWithFilter(arrIntCharCodes); } if (sDataType == "FLOAT") { arrIllegalCharCodes = arrCharCodesNoDup.chkCharCodesWithFilter(arrFloatCharCodes); } if (sDataType == "CHAR") { arrIllegalCharCodes = chkCharSetPaste(arrCharCodesNoDup, sCharSet); } if (bRtnFlag && sObjType == "textarea") { var nReturnCode = chkTextArea(sFldNm); if (nReturnCode == 3 || nReturnCode == 4) { var nRows = beInt(obj.rows); var nCols = beInt(obj.cols); var nMaxChars = nRows * nCols; sErrMsg = _getClientMessage(92001, sFldTitle, nCols, nRows); bRtnFlag = false; } } //convert illegal charcode array into string var narrIllegalCharCodesLen = arrIllegalCharCodes.length; var nsIllegalCharsLen = 0; if (narrIllegalCharCodesLen > 0) { sIllegalChars = arrIllegalCharCodes.convCharCodesToString(true); nsIllegalCharsLen = sIllegalChars.length; } //display illegal chars and move original value back if (nsIllegalCharsLen > 0) { if (nsIllegalCharsLen == 1) { sErrMsg = sIllegalChars + " is invalid character."; } else { sErrMsg = sIllegalChars + " are invalid characters."; } bRtnFlag = false; } else { if (sDataType == "AMT") { if (!chkAmt(sFldNm, 0)) chkAmt(sFldNm, 1); } if (sDataType == "FLOAT") { if (!chkFloat(sFldNm, 0)) chkFloat(sFldNm, 1); } if (sDataType == "INT") { setFldValue(sFldNm, beInt(sFldValue)); } } if (!bRtnFlag) { if (window.detachEvent&&"CHAR"==sDataType) { obj.detachEvent("onpropertychange", onAfterPaste); } setFldValue(sFldNm, sOrgFldValue); showFldErr(sFldNm, sErrMsg); if (window.attachEvent&&"CHAR"==sDataType) { attachObjEvent(obj, "onpropertychange", onAfterPaste); } return false; } else { rmNode("Template_valSummary"); } } catch (e) { showExcpt("Validation", e); } } /** * Check for blur event */ function chkBlur(evt){ try { if (getEvtType(evt) != "blur") { return; } var obj = getEvtTarget(evt); var sObjType = obj.type; var sClassNm = obj.className; var sFldTitle = ""; var sDataType = ""; var sFldNm = ""; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; sFldTitle = getFldTitle(sFldNm); sDataType = getFldDataType(sFldNm); var FldValue = getFldValue(sFldNm); var sOrgFldNm = "ORIG_" + sFldNm; var sOrgFldValue = getFldValue(sOrgFldNm); } var bRtnFlag = true; //drop tmp field if (arrValidDataType.in_array(sDataType)) { if (document.getElementById(sOrgFldNm)) { rmNode(sOrgFldNm); } } if (sDataType == "CHAR") { var sCharSet = obj.getAttribute("charset"); //convert to uppercase if (arrUpperCaseCharSet.in_array(sCharSet)) { setFldValue(sFldNm, FldValue.toUpperCase()); } //for IE, check it again //gouse changed as part of ENBD CE received from Nanjing on 04-04-2019 s //if (window.event) { if (evt || window.event) { //gouse changed as part of ENBD CE received from Nanjing on 04-04-2019 e if (bRtnFlag && sObjType == "textarea") { var nReturnCode = chkTextArea(sFldNm); var nRows = beInt(obj.rows); var nCols = beInt(obj.cols); var nMaxChars = nRows * nCols; sErrMsg = "The input of " + sFldTitle + " must be less than " + String(nCols) + " columns and " + String(nRows) + " rows."; if (nReturnCode == 3 || nReturnCode == 4) { showFldErr(sFldNm, sErrMsg); } } } } if (sDataType == "DATE") { if (!chkDateEvt(evt)) { bRtnFlag = false; } } if (sDataType == "FLOAT") { //Start: Gouse Modified as per nanjing for INC000002967426 on 30-03-2023 if (!chkFloat(sFldNm, 1)) { //chkFloat(sFldNm, 1); bRtnFlag = false; } //End: Gouse Modified as per nanjing for INC000002967426 on 30-03-2023 } if (sDataType == "AMT") { if (!chkAmtInput(FldValue)) { setFldValue(sFldNm, ""); } } if (!bRtnFlag) { stopEvent(evt); return false; } } catch (e) { showExcpt("Validation", e); } } /** * to check if the input is valid */ function chkAmtInput(sValue){ try { var intSepCode = SYS_AMT_INT_FORMAT.charCodeAt(0); var decSepCode = SYS_AMT_DEC_FORMAT.charCodeAt(0); arrAmtCharCodes[0] = intSepCode; arrAmtCharCodes[1] = decSepCode; var strValue = sValue.toString(); var arrCharCodes = strValue.convStrToCharCodesArray(false); var decNum = arrCharCodes.array_count_values(decSepCode); if (decNum > 1) { var errMsg = _getClientMessage(91026); _SYS_Display_ERROR(errMsg); return false; } var arrIllegalCharCodes = arrCharCodes.chkCharCodesWithFilter(arrAmtCharCodes); var narrIllegalCharCodesLen = arrIllegalCharCodes.length; var nsIllegalCharsLen = 0; var sIllegalChars = ""; if (narrIllegalCharCodesLen > 0) { sIllegalChars = arrIllegalCharCodes.convCharCodesToString(true); nsIllegalCharsLen = sIllegalChars.length; } //display illegal chars and move original value back if (nsIllegalCharsLen > 0) { if (nsIllegalCharsLen == 1) { var errMsg = _getClientMessage(91024, sIllegalChars); _SYS_Display_ERROR(errMsg); } else { var errMsg = _getClientMessage(91025, sIllegalChars); _SYS_Display_ERROR(errMsg); } return false; } else { return true; } } catch (e) { showExcpt("Validation", e); } } /** * Check for click event */ function chkClick(evt){ try { if (getEvtType(evt) != "click") { return; } isOnLoadTmpl = false; } catch (e) { showExcpt("Validation", e); } } /** * Check charset for keydown event */ function chkCharSetKeyDown(evt){ try { if (getEvtType(evt) != "keydown") { return; } var obj = getEvtTarget(evt); var nKeyCode = getKeyCode(evt); var sCharSet = obj.getAttribute("charset"); var bRtnFlag = true; if (sCharSet == "S" && !SWIFTDKeyDown(evt)) { bRtnFlag = false; } else if (sCharSet == "SS" && !sqlInjectionAndSWIFTDefaultKeyDown(evt)) { bRtnFlag = false; if (!bRtnFlag && nKeyCode == 13) { bRtnFlag = true; } } else if (sCharSet == "SX" && !SWIFTXKeyDown(evt)) { bRtnFlag = false; } else if (sCharSet == "SY" && !SWIFTYKeyDown(evt)) { bRtnFlag = false; } else if (sCharSet == "SZ" && !SWIFTZKeyDown(evt)) { bRtnFlag = false; } else if (sCharSet == "SQ" && !sqlInjectionKeyDown(evt)) { bRtnFlag = false; } else if (sCharSet == "SEARCH" && !sqlInjectionAndSWIFTDefaultKeyDown(evt)) { bRtnFlag = false; } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } /** * Check charset for after pasted * * @param array charcodes array * @param string charset * @return array */ function chkCharSetPaste(arrCharCodes, sCharSet){ try { var arrIllegalCharCodes = new Array(); var arrIllegalChars = new Array(); if (sCharSet == "S") { arrIllegalCharCodes = SWIFTDPaste(arrCharCodes); } else if (sCharSet == "SS") { arrIllegalCharCodes = sqlInjectionAndSWIFTDefaultPaste(arrCharCodes); } else if (sCharSet == "SX") { arrIllegalCharCodes = SWIFTXPaste(arrCharCodes); } else if (sCharSet == "SY") { arrIllegalCharCodes = SWIFTYPaste(arrCharCodes); } else if (sCharSet == "SZ") { arrIllegalCharCodes = SWIFTZPaste(arrCharCodes); } else if (sCharSet == "SQ") { arrIllegalCharCodes = sqlInjectionPaste(arrCharCodes); } else if (sCharSet == "SEARCH") { arrIllegalCharCodes = sqlInjectionAndSWIFTDefaultPaste(arrCharCodes); } return arrIllegalCharCodes; } catch (e) { showExcpt("Validation", e); } } function chkChar(sFldNm){ try { return true; } catch (e) { showExcpt("Validation", e); } } function chkInt(sFldNm){ try { return true; } catch (e) { showExcpt("Validation", e); } } function chkDateEvt(evt){ try { var obj = getEvtTarget(evt); if (obj == undefined) return true; var sFldNm = obj.id; var sErrMsg = chkDate(sFldNm); if (sErrMsg.length > 0) { showFldErr(sFldNm, sErrMsg); setFldValue(obj.name, ""); return false; } else { return true; } } catch (e) { showExcpt("Validation", e); } } function chkDate(sFldNm){ try { var obj = document.getElementById(sFldNm); var sFldTitle = getFldTitle(sFldNm); var sErrMsg = ""; var sDtValue = getSystem_Date_format(obj.value); var nValueLen = sDtValue.length; var sFunc = chkDate.caller.toString(); var sFuncName = ""; sFuncName = sFunc.substring(sFunc.indexOf(" ") + 1, sFunc.indexOf("(")); if (nValueLen == 0) { if (sFuncName == "chkDateEvt") { return ""; } else { return true; } } var arrDate = sDtValue.split("-"); if (arrDate.length == 3) { var sYY = String(arrDate[0]); var sMM = String(arrDate[1]); var sDD = String(arrDate[2]); if (sMM.substr(0, 1) == "0") { sMM = sMM.substr(1, 1); } if (sDD.substr(0, 1) == "0") { sDD = sDD.substr(1, 1); } var nYY = beInt(sYY); var nMM = beInt(sMM); var nDD = beInt(sDD); } else { sErrMsg = sFldTitle + " is wrong, please select again."; } var arrMM = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12); var arrBigMM = new Array(1, 3, 5, 7, 8, 10, 12); var arrSmallMM = new Array(4, 6, 9, 11); if (nYY > 2500 || nYY < 1970) { sErrMsg = sFldTitle + " is wrong, please select again."; } if (!arrMM.in_array(nMM) || (nDD <= 00)) { sErrMsg = sFldTitle + " is wrong, please select again."; } //31 days in this month if ((arrBigMM.in_array(nMM)) && (nDD > 31)) { sErrMsg = "Only 31 days in this month, please select again."; } //30 days in this month if ((arrSmallMM.in_array(nMM)) && (nDD > 30)) { sErrMsg = "Only 30 days in this month, please select again."; } //Feb if (nMM == 2) { if (((nYY % 4 == 0) && (nYY % 100 != 0)) || (nYY % 400 == 0)) { if (nDD > 29) { sErrMsg = "Only 29 days in this month, please select again."; } } else { if (nDD > 28) { sErrMsg = "Only 28 days in this month, please select again."; } } } if (sFuncName == "chkDateEvt") { //set msg to this always if (sErrMsg.length > 0) { sErrMsg = "Incorrect date format, please select again."; } return sErrMsg; } else { if (sErrMsg.length > 0) { return false; } else { return true; } } } catch (e) { showExcpt("Validation", e); } } /** * ChkDate() has been used in SYS_BaseFunc_CAL.js */ function ChkDate(sFldNm){ try { chkDate(sFldNm); } catch (e) { showExcpt("Validation", e); } } /** * Check refresh key for keydown event */ function isRefresh(evt){ try { if (getEvtType(evt) != "keydown") { return; } var nKeyCode = getKeyCode(evt); if ((nKeyCode == 116) || (evt.ctrlKey && nKeyCode == 82)) { return true; } else { return false; } } catch (e) { showExcpt("Validation", e); } } /** * Check go back key for keydown event */ function isGoBack(evt){ try { if (getEvtType(evt) != "keydown") { return; } var obj = getEvtTarget(evt); var sObjType = ""; var sDataType = ""; if (obj.type) { sObjType = obj.type; var sClassNm = obj.className; var sFldNm = ""; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; sDataType = getFldDataType(sFldNm); } } var arrsObjType = new Array("text", "textarea"); var nKeyCode = getKeyCode(evt); var bRtnFlag = false; //ALT + Left arrow if (evt.altKey && nKeyCode == 37) { bRtnFlag = true; } //Backspace //CEV2-04-01-01 bound by carly 20190213 S if(nKeyCode == 8){ if(arrsObjType.in_array(sObjType)){ if(obj.value == ""){ bRtnFlag = true; } }else{ bRtnFlag = true; } } //CEV2-04-01-01 bound by carly 20190213 E return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } /** * Allowable function keys */ function isFuncKey(evt){ try { var obj = getEvtTarget(evt); var sObjType = obj.type; var sClassNm = obj.className; var sDataType = ""; var sFldNm = ""; var bRtnFlag = false; if (typeof(sClassNm)!="undefined"&&sClassNm.length > 0) { sFldNm = obj.id; sDataType = getFldDataType(sFldNm); } var nKeyCode = getKeyCode(evt); //Allowable keys for move cursor: backspace(8), tab(9), end(35), home(36), left(37), up(38), right(39), right(40), delete(46) var arrCursorKeys = new Array(8, 9, 35, 36, 37, 38, 39, 40, 46); if (!bRtnFlag && arrCursorKeys.in_array(nKeyCode) && sDataType != "DATE") { bRtnFlag = true; } //Allowable keys for Ctrl + a, z, x, c, v, except DATE field var arrCtrlFuncKeys = new Array(65, 90, 88, 67, 86); if (!bRtnFlag && ((evt.ctrlKey && (arrCtrlFuncKeys.in_array(nKeyCode))) || (evt.shiftKey && nKeyCode == 45)) && sDataType != "DATE") { bRtnFlag = true; } //Allowable keys for Shift + insert, home, end, except DATE field var arrShiftFuncKeys = new Array(45, 35, 36); if (!bRtnFlag && (evt.shiftKey && (arrShiftFuncKeys.in_array(nKeyCode))) && sDataType != "DATE") { bRtnFlag = true; } //Ctrl + N(New Window), P(Print), T(New Tab, FX) var arrMenuHotKeys = new Array(78, 80, 84); if (!bRtnFlag && (evt.ctrlKey && arrMenuHotKeys.in_array(nKeyCode))) { bRtnFlag = true; } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } /** * To make sure the amount is in 13.2. */ function chkAmt(sFldNm, bFmtFlag){ try { var obj = document.getElementById(sFldNm); var nAmt = getFldValue(sFldNm); var sAmt = String(obj.value); var arrAmt = sAmt.split(SYS_AMT_DEC_FORMAT); var sInt = arrAmt[0]; var sDec = arrAmt[1]; var bRtnFlag = true; //the current system js only support 13.2 format if (bFmtFlag) { if (sInt.length > 13) { sInt = sInt.substr(0, 13); bRtnFlag = false; } if (sDec != undefined) { if (sDec.length > 2) { sDec = sDec.substr(0, 2); bRtnFlag = false; } } if (sDec == undefined) { sAmt = sInt; } else { sAmt = sInt + SYS_AMT_DEC_FORMAT + sDec; } nAmt = _SYS_getCustFMTFloat(sFldNm); setFldValue(sFldNm, nAmt); } else { if (sInt.length > 13) { bRtnFlag = false; } if (sDec != undefined) { if (sDec.length > window.nDefaultDec) { bRtnFlag = false; } } } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } /** * To make sure the float is in 4.2. */ function chkFloat(sFldNm, bFmtFlag){ try { var obj = document.getElementById(sFldNm); var sFldValue = String(obj.value); var arrValue = sFldValue.split("."); var sInt = arrValue[0]; var sDec = arrValue[1]; var sFloat = ""; var bRtnFlag = true; //4.6 format if (bFmtFlag) { //Start: Gouse added as per nanjing for INC000002967426 on 30-03-2023 sDec = zeroFill(sDec, 6); if (sInt.length > 6) { sInt = sInt.substr(0, 6); bRtnFlag = false; } if(sDec.length > 6){ sDec = sDec.substr(0, 6); //sDec = beInt(sDec.substr(0, 4)); bRtnFlag = false; } if (String(sDec).length == 1) { sDec = sDec + "0"; } sFloat = beInt(sInt) + "." + sDec; setFldValue(sFldNm, sFloat); } else { if (sInt.length > 6) { bRtnFlag = false; } if (sDec != undefined) { if (sDec.length > 6) { bRtnFlag = false; } } //End: Gouse added as per nanjing for INC000002967426 on 30-03-2023 if (sDec == undefined) { sFloat = beInt(sInt); } else { sFloat = beInt(sInt) + "." + sDec; } setFldValue(sFldNm, sFloat); } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } //gouse added as part of ENBD CE received from Nanjing on 04-04-2019 s /** * Check textarea field for limit max characters * * @param string Field name * @return numeric return code is in integer */ //May 20190401 S function chkTextAreaAppend(val,obj){ try { var nRows = obj.rows; var nCols = obj.cols; var sValue = val; var nNoOfRtn = 0; var nTtlEqalRows = 0; var nReturnCode = 0; var nMaxLen = 0; var arrCharCodes = sValue.convStrToCharCodesArray(false); //remove 13 because in IE is 13,10 and in FX is 10 arrCharCodes = arrCharCodes.array_unset(13); var nNoOfRtn = arrCharCodes.array_count_values(10); if (nNoOfRtn == 0) { var arrRows = getRowsByCharCodes(arrCharCodes, nCols); nLastRowLen = arrRows[1]; nTtlEqalRows = arrRows[0]; } else { var arrSplit = arrCharCodes.array_chunk(10); var narrSplitLen = arrSplit.length; for (var i = 0; i < narrSplitLen; i++) { var arrRowCharCode = arrSplit[i]; var arrRows = getRowsByCharCodes(arrRowCharCode, nCols); nEqualRowsOfThisLine = arrRows[0]; nLastRowLen = arrRows[1]; nTtlEqalRows = nTtlEqalRows + nEqualRowsOfThisLine; } } if (nRows > 0 && nCols > 0) { nMaxLen = nRows * nCols; } //max rows flag var bMaxRow = false; if ((nTtlEqalRows == nRows) || (nNoOfRtn == nRows)) { bMaxRow = true; } //full if ((nTtlEqalRows == nRows) && (nLastRowLen == nCols)) { nReturnCode = 1; } //reach max rows but last row less than cols if (bMaxRow && (nLastRowLen < nCols)) { nReturnCode = 2; } //more than max rows if (nTtlEqalRows > nRows) { nReturnCode = 3; } //more than max chars if (arrCharCodes.array_unset(10).length > nMaxLen) { nReturnCode = 4; } return nReturnCode; } catch (e) { alert(e); showExcpt("Validation", e); } } //May 20190401 E //gouse added as part of ENBD CE received from Nanjing on 04-04-2019 e /** * Check textarea field for limit max characters * * @param string Field name * @return numeric return code is in integer */ function chkTextArea(sFldNm){ try { var obj = document.getElementById(sFldNm); var nRows = beInt(obj.rows); var nCols = beInt(obj.cols); var sValue = getFldValue(sFldNm); var nNoOfRtn = 0; var nTtlEqalRows = 0; var nReturnCode = 0; var nMaxLen = 0; var arrCharCodes = sValue.convStrToCharCodesArray(false); //remove 13 because in IE is 13,10 and in FX is 10 arrCharCodes = arrCharCodes.array_unset(13); var nNoOfRtn = arrCharCodes.array_count_values(10); if (nNoOfRtn == 0) { var arrRows = getRowsByCharCodes(arrCharCodes, nCols); nLastRowLen = arrRows[1]; nTtlEqalRows = arrRows[0]; } else { var arrSplit = arrCharCodes.array_chunk(10); var narrSplitLen = arrSplit.length; for (var i = 0; i < narrSplitLen; i++) { var arrRowCharCode = arrSplit[i]; var arrRows = getRowsByCharCodes(arrRowCharCode, nCols); nEqualRowsOfThisLine = arrRows[0]; nLastRowLen = arrRows[1]; nTtlEqalRows = nTtlEqalRows + nEqualRowsOfThisLine; } } if (nRows > 0 && nCols > 0) { nMaxLen = nRows * nCols; } //max rows flag var bMaxRow = false; if ((nTtlEqalRows == nRows) || (nNoOfRtn == nRows)) { bMaxRow = true; } //full if ((nTtlEqalRows == nRows) && (nLastRowLen == nCols)) { nReturnCode = 1; } //reach max rows but last row less than cols if (bMaxRow && (nLastRowLen < nCols)) { nReturnCode = 2; } //more than max rows if (nTtlEqalRows > nRows) { nReturnCode = 3; } //more than max chars if (arrCharCodes.array_unset(10).length > nMaxLen) { nReturnCode = 4; } return nReturnCode; } catch (e) { showExcpt("Validation", e); } } /** * Get equal rows by given charcode array and cols, the CrLf should be removed before use it * * @param array charcode array * @param numeric cols * @return array equal rows, last row length */ function getRowsByCharCodes(arrCharCodes, nCols){ try { var nEqlRows = 0; var nLastRowLen = 0; var arrRows = new Array(0, 0); var nIdx = nCols; var narrCharCodesLen = arrCharCodes.length; if (narrCharCodesLen == 0) { nEqlRows = 1; nLastRowLen = 0; } else if (narrCharCodesLen == nCols) { nEqlRows = 1; nLastRowLen = nCols; } else if (narrCharCodesLen >= nCols && !arrCharCodes.array_search(32)) { nEqlRows = Math.ceil(narrCharCodesLen / nCols); nLastRowLen = narrCharCodesLen % nCols; if (nLastRowLen == 0) { nLastRowLen = nCols; } } else { while (narrCharCodesLen > nCols) { //cut number of cols+1 var arrCut = arrCharCodes.slice(0, nCols + 1); if (arrCut.length == nCols) { //no more arrCharCodes = new Array() narrCharCodesLen = nCols; } else if (arrCut[nIdx] == 32) { //last char is space, cut it arrCharCodes = arrCharCodes.slice(nIdx, narrCharCodesLen); narrCharCodesLen = arrCharCodes.length; } else if (arrCut[nIdx] != 32 && arrCut[nIdx + 1] == 32) { //last char is not space but next char is space, cut it arrCharCodes = arrCharCodes.slice(nIdx, narrCharCodesLen); narrCharCodesLen = arrCharCodes.length; } else if (!arrCut.in_array(32)) { //no space in string arrCharCodes = arrCharCodes.slice(nIdx, narrCharCodesLen); narrCharCodesLen = arrCharCodes.length; } else { //check space forward, util get space, cut it for (nIdx; nIdx >= 0; nIdx--) { if (arrCut[nIdx] == 32) { arrCharCodes = arrCharCodes.slice(nIdx + 1, narrCharCodesLen); narrCharCodesLen = arrCharCodes.length; break; } } } nEqlRows++; //plus 1 row nIdx = nCols; //set it to default } nLastRowLen = narrCharCodesLen; //plus nEqlRows back nEqlRows++; //plus final row; } arrRows = [nEqlRows, nLastRowLen]; return arrRows; } catch (e) { showExcpt("Validation", e); } } /** * Check data format and mandatory fields on confirm * * @date 2006-5-17 */ function chkDataFmt(){ try { var oMainForm = document.forms["MAINFORM"]; var nEelement = oMainForm.elements.length; var oField = null; var sFldNm = ""; var sDataType = ""; var sFldType = ""; var sFldValue = ""; var sFldTitle = ""; var sErrMsg = ""; for (var i = 0; i < nEelement; i++) { oField = oMainForm.elements[i]; sFldNm = oField.id; sDataType = getFldDataType(sFldNm); sFldType = getFldType(sFldNm); FldValue = getFldValue(sFldNm); sFldTitle = getFldTitle(sFldNm); sCharSet = oField.charset; oField.style.borderColor = "#7f9db9"; //gouse to revert error / validation textbox color if (arrValidDataType.in_array(sDataType)) { //check mandatory if (sFldType == "M") { if (sDataType == "AMT" || sDataType == "INT" || sDataType == "FLOAT") { if (FldValue == 0) { sErrMsg = sFldTitle + " is required and must be different to 0."; } } else if (sDataType == "CHAR" || sDataType == "DATE") { var bIsEmpty = false; var emptyValue = oField.getAttribute("emptyValue"); if (emptyValue != null) { if (FldValue == emptyValue) { bIsEmpty = true; } } else if (FldValue.length == 0) { bIsEmpty = true; } if (bIsEmpty) { sErrMsg = sFldTitle + " is required."; } } } if (sErrMsg.length > 0) { showFldErr(sFldNm, sErrMsg); return false; } //convert uppercase charset if (arrUpperCaseCharSet.in_array(sCharSet)) { setFldValue(sFldNm, FldValue.toUpperCase()); } //check data type if (sDataType == "AMT") { //if(!chkAmt(sFldNm)) return false; } else if (sDataType == "CHAR") { if (!chkChar(sFldNm)) return false; } else if (sDataType == "FLOAT") { if (!chkFloat(sFldNm)) return false; } else if (sDataType == "INT") { if (!chkInt(sFldNm)) return false; } else if (sDataType == "DATE") { //if(!chkDate(sFldNm)) return false; } } } return true; } catch (e) { showExcpt("Validation", e); } } //Start: SWIFT characters checking function /** * Purpose:to prevent those illegal characters from being input in the keyboard. * * Allowable characters: * D A to Z 0 to 9 / - ? : ( ) . , ' + SPACE CrLf * X A to Z a to z 0 to 9 / - ? : ( ) . , ' + SPACE CrLf * Y A to Z 0 to 9 / - ? : ( ) . , ' + SPACE = ! " & * ; < > % * Z A to Z a to z 0 to 9 / - ? : ( ) . , ' + SPACE CrLf = ! " & * ; < > { @ # **/ //CEV2-0399 Show dynamic fields in Clause martin modify S //a-z is not common keycode but system convert it to uppercase for SWIFT D and Y charset. So can be allowed here. var arrSWIFTCommonCharCodes = new Array(65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90,91,93,95,97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 47, 45, 63, 58, 40, 41, 46, 44, 39, 43, 32); //CEV2-0399 Show dynamic fields in Clause martin modify e function SWIFTCommonPaste(arrCharCodes){ try { return arrCharCodes.chkCharCodesWithFilter(arrSWIFTCommonCharCodes); } catch (e) { showExcpt("Validation", e); } } function SWIFTCommonKeyDown(evt){ try { var nKeyCode = getKeyCode(evt); var arrNoShift = new Array(32, 222, 188, 109, 189, 190, 110, 191, 111, 107, 173); //SPACE ' , - [NumPad -] . [NumPad .] / [NumPad /] [NumPad +] var arrShift = new Array(57, 48, 61, 187, 59, 191, 186); //( ) + : ? var narrIntKeysLen = arrIntKeys.length; var bRtnFlag = false; //push 0-9 (arrIntKeys) to arrNoShift for (var i = 0; i < narrIntKeysLen; i++) { arrNoShift.push(arrIntKeys[i]); } //push A-Z to arrNoShift for (var j = 65; j <= 90; j++) { arrNoShift.push(j); } if ((!evt.shiftKey && arrNoShift.in_array(nKeyCode)) || (evt.shiftKey && arrShift.in_array(nKeyCode))) { bRtnFlag = true; } //press Shift + a-z for input uppercase if (evt.shiftKey && (nKeyCode >= 65 && nKeyCode <= 90)) { bRtnFlag = true; } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } var arrCrLfCharCode = new Array(10, 13); function isCRLF(nKeyCode){ try { if (nKeyCode == 10 || // LF nKeyCode == 13) { // CR return true; } return false; } catch (e) { showExcpt("Validation", e); } } function SWIFTDPaste(arrCharCodes){ try { return isSWIFTDKeystrokePaste(arrCharCodes); } catch (e) { showExcpt("Validation", e); } } function SWIFTDKeyDown(evt){ try { return isSWIFTDKeystrokeKeyDown(evt); } catch (e) { showExcpt("Validation", e); } } function isSWIFTDKeystrokePaste(arrCharCodes){ try { var arrFilter = new Array(); arrFilter = arrSWIFTCommonCharCodes; for (var i = 0; i < arrCrLfCharCode.length; i++) { arrFilter.push(arrCrLfCharCode[i]); } return arrCharCodes.chkCharCodesWithFilter(arrFilter); } catch (e) { showExcpt("Validation", e); } } function isSWIFTDKeystrokeKeyDown(evt){ try { var nKeyCode = getKeyCode(evt); var bRtnFlag = false; if (isCRLF(nKeyCode)) { bRtnFlag = true; } else { bRtnFlag = SWIFTCommonKeyDown(evt); } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } function SWIFTXPaste(arrCharCodes){ try { var arrFilter = new Array(); arrFilter = arrSWIFTCommonCharCodes; for (var i = 0; i < arrCrLfCharCode.length; i++) { arrFilter.push(arrCrLfCharCode[i]); } return arrCharCodes.chkCharCodesWithFilter(arrFilter); } catch (e) { showExcpt("Validation", e); } } function SWIFTXKeyDown(evt){ try { var nKeyCode = getKeyCode(evt); var bRtnFlag = false; if (isCRLF(nKeyCode) || (nKeyCode >= 97 && nKeyCode <= 122)) { // a-z bRtnFlag = true; } else { bRtnFlag = SWIFTCommonKeyDown(evt); } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } function SWIFTYPaste(arrCharCodes){ try { var arrFilter = new Array(); var arrSWIFTYCharCodes = new Array(59, 61, 33, 34, 37, 38, 42, 60, 62); //;=!"%&*<> var narrSWIFTYCharCodesLen = arrSWIFTYCharCodes.length; arrFilter = arrSWIFTCommonCharCodes; for (var i = 0; i < narrSWIFTYCharCodesLen; i++) { arrFilter.push(arrSWIFTYCharCodes[i]); } return arrCharCodes.chkCharCodesWithFilter(arrFilter); } catch (e) { showExcpt("Validation", e); } } function SWIFTYKeyDown(evt){ try { var nKeyCode = getKeyCode(evt); var arrNoShift = new Array(59, 61); //;= var arrShift = new Array(49, 222, 53, 55, 56, 188, 190); //!"%&*<> var bRtnFlag = false; if ((!evt.shiftKey && arrNoShift.in_array(nKeyCode)) || (evt.shiftKey && arrShift.in_array(nKeyCode))) { bRtnFlag = true; } else { bRtnFlag = SWIFTCommonKeyDown(evt); } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } function SWIFTZPaste(arrCharCodes){ try { var arrFilter = new Array(); var arrSWIFTZCharCodes = new Array(33, 34, 35, 38, 42, 59, 60, 61, 62, 64, 37, 95, 123, 10, 13); //!"#&*;<=>@ var narrSWIFTZCharCodesLen = arrSWIFTZCharCodes.length; arrFilter = arrSWIFTCommonCharCodes; for (var i = 0; i < narrSWIFTZCharCodesLen; i++) { arrFilter.push(arrSWIFTZCharCodes[i]); } return arrCharCodes.chkCharCodesWithFilter(arrFilter); } catch (e) { showExcpt("Validation", e); } } function SWIFTZKeyDown(evt){ try { var nKeyCode = getKeyCode(evt); var arrNoShift = new Array(59, 61, 10, 13,186,187); //;= var arrShift = new Array(49, 222, 51, 55, 56, 188, 190, 50, 53, 189, 219); //!"#&*<>@ var bRtnFlag = false; if ((!evt.shiftKey && arrNoShift.in_array(nKeyCode)) || (evt.shiftKey && arrShift.in_array(nKeyCode))) { bRtnFlag = true; } else { bRtnFlag = SWIFTCommonKeyDown(evt); } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } //End: SWIFT characters checking function //Start: SQL Injection attack characters checking function /** * Purpose:to prevent possible SQL Injection attack characters from being input in the keyboard. * * Disallowed characters * ; | ! & ~ ' " - * % ` / \ * ' - and / has been marked, change keycode/charcode to native * **/ var arrSQLInjectionCharCodes = new Array(33, 34, 37, 38, -39, 42, -45, -47, 59, 92, 96, 124, 126); //!"%&'*-/;\`|~ function isSQLInjectionKeystrokeKeyDown(evt){ try { var nKeyCode = getKeyCode(evt); var arrNoShift = new Array(59, -222, 192, -109, -191, -111); //; ' ` - / [NumPad /] var arrShift = new Array(220, 49, 55, 192, 222, 56, 53, 191); //| ! & ~ " * % \ var bRtnFlag = false; if ((!evt.shiftKey && arrNoShift.in_array(nKeyCode)) || (evt.shiftKey && arrShift.in_array(nKeyCode))) { bRtnFlag = true; } else { bRtnFlag = !SWIFTCommonKeyDown(evt); } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } function sqlInjectionKeyDown(evt){ try { return !isSQLInjectionKeystrokeKeyDown(evt); } catch (e) { showExcpt("Validation", e); } } function sqlInjectionAndSWIFTDefaultPaste(arrCharCodes){ try { var arrFilter = new Array(); arrFilter = arrSWIFTCommonCharCodes; for (var i = 0; i < arrCrLfCharCode.length; i++) { arrFilter.push(arrCrLfCharCode[i]); } for (var j = 0; j < arrSQLInjectionCharCodes; j++) { arrFilter.array_unset(arrSQLInjectionCharCodes[j]); } return arrCharCodes.chkCharCodesWithFilter(arrFilter); } catch (e) { showExcpt("Validation", e); } } function sqlInjectionAndSWIFTDefaultKeyDown(evt){ try { var bRtnFlag = false; if (!isSQLInjectionKeystrokeKeyDown(evt) && isSWIFTDKeystrokeKeyDown(evt)) { bRtnFlag = true; } return bRtnFlag; } catch (e) { showExcpt("Validation", e); } } function sqlInjectionPaste(arrCharCodes){ try { var arrFilter = new Array(); arrFilter = arrSQLInjectionCharCodes; return arrCharCodes.chkCharCodesWithFilter(arrFilter, "illegal"); } catch (e) { showExcpt("Validation", e); } } //End: SQL Injection characters checking function //CEV2-01-01-09 14th Jul, 2015 hank s //check new password function chkNewPwd(newPwdVal) { try { var sErrMsg = ''; // contains special chars is not allowed /*@vamsi for ENBD RISK Req.,09-09-2015 if (/^\w*[-`=\\\[\];',./~!@#$%^&*()_+|{}:"<>?]+\w*$/.test(newPwdVal)) { sErrMsg = 'New password contains special chars.'; }*/ if (/^\w*[-`=\\\[\];',./~_+|{}:"<>?]+\w*$/.test(newPwdVal)){ sErrMsg = 'New password contains special chars.'; } // require at least 8 chars if (/^\w{0,7}$/.test(newPwdVal)) { sErrMsg = 'New password\'s is less than 8 characters long.'; } // string cannot contain blankspace if (/^\w*\s+\w*$/.test(newPwdVal)) { sErrMsg = 'New password contain blankspace.'; } // string cannot contain blankspace if (newPwdVal.length == 0) { sErrMsg = 'New password is empty.'; } if (sErrMsg.length == 0) { return true; } else { showMsg(sErrMsg); return false; } } catch (e) { showExcpt("Validation", e); } } //check confirm password function chkConfPwd(newPwdVal, confPwdVal) { try { var sErrMsg = ''; //require input if(newPwdVal.length == 0 || confPwdVal.length == 0){ sErrMsg = 'New password and confirm password should not be empty.'; //sErrMsg = _getClientMessage(000001, 'New password and confirm'); } if (newPwdVal != confPwdVal) { sErrMsg = 'New password and confirm password is different.'; } if (sErrMsg.length == 0) { return true; } else { showMsg(sErrMsg); return false; } } catch (e) { showExcpt("Validation", e); } } //CEV2-01-01-09 e //Start: Gouse added as per nanjing for INC000002967426 on 30-03-2023 function zeroFill(sDec, length){ try { if(sDec == undefined){ sDec = ""; } if(String(sDec).length < length){ for(var i = 1; i <= length ; i++){ if(String(sDec).length < i){ sDec = sDec + "0"; } } } return sDec; } catch (e) { showExcpt("Validation", e); } } //End: Gouse added as per nanjing for INC000002967426 on 30-03-2023