From: Jonny R. <jo...@us...> - 2005-02-28 19:56:09
|
Update of /cvsroot/jaffa/JaffaCore/source/html/jaffa/js/rules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20076/source/html/jaffa/js/rules Modified Files: coreRules.js initializeRules.js rulesValidator.js Log Message: Changes to the JS files and Folding section widget to support errors within section Index: coreRules.js =================================================================== RCS file: /cvsroot/jaffa/JaffaCore/source/html/jaffa/js/rules/coreRules.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** coreRules.js 23 Feb 2005 20:38:55 -0000 1.1 --- coreRules.js 28 Feb 2005 19:55:57 -0000 1.2 *************** *** 66,102 **** return "The number of allowable decimal places are " + digits + ". Please Re-enter"; } - if (digits != 0) { - if ((maxSize != null) && (source > maxSize)) { - return "Too many digits. Please re-enter."; - } - - if ((minSize != null) && (source < minSize)) { - return "Too little digits. Please re-enter."; - } - - if ((minValue != null) && (source < minValue)) { - return "Value cannot be less than " + minValue + ". Please re-enter."; - } - - if ((maxValue != null) && (source > maxValue)) { - return "Value exceeds maximum value of " + maxValue + ". Please re-enter."; - } - } } } catch (e) {} ! if ((maxSize != null) && (parseInt(matchArray[1].length) > parseInt(maxSize))) { return "Too many digits. Please re-enter."; } ! if ((minSize != null) && (parseInt(matchArray[1].length) < parseInt(minSize))) { return "Too little digits. Please re-enter."; } ! if ((minValue != null) && (parseInt((source.indexOf("-") > -1 ? source : matchArray[1])) < parseInt(minValue))) { return "Value cannot be less than " + minValue + ". Please re-enter."; } ! if ((maxValue != null) && (parseInt(matchArray[1]) > parseInt(maxValue))) { return "Value exceeds maximum value of " + maxValue + ". Please re-enter."; } --- 66,85 ---- return "The number of allowable decimal places are " + digits + ". Please Re-enter"; } } } catch (e) {} ! if ((maxSize != null) && (matchArray[1].length > maxSize)) { return "Too many digits. Please re-enter."; } ! if ((minSize != null) && (matchArray[1].length < minSize)) { return "Too little digits. Please re-enter."; } ! if ((minValue != null) && ((source.indexOf("-") > -1 ? source : matchArray[1]) < minValue)) { return "Value cannot be less than " + minValue + ". Please re-enter."; } ! if ((maxValue != null) && (matchArray[1] > maxValue)) { return "Value exceeds maximum value of " + maxValue + ". Please re-enter."; } *************** *** 117,122 **** if (fld.value != "") { var source = fld.value; - var msg = "This is not a valid date!Please use either the format " + layout + " or n/t for current date expressions"; //Use this one if spaces are allows, at the moment the servlet does not support this! var datePat1 = /^ *([NnTt]) *([-+]) *([0-9]+)$/; --- 100,109 ---- if (fld.value != "") { var source = fld.value; + if (isDateTime == true) { + var msg = "This is not a valid date!\n Please use either the format\n mm/dd/yyyy hh:mm:ss \nor\n use n/t for current date expressions"; + } else { + var msg = "This is not a valid date!\n Please use either the format\n mm/dd/yyyy\nor\n use n/t for current date expressions"; + } //Use this one if spaces are allows, at the moment the servlet does not support this! var datePat1 = /^ *([NnTt]) *([-+]) *([0-9]+)$/; *************** *** 197,201 **** } } else { ! if ((isDateTime == "true") && (matchArray[1] == "n" || matchArray[1] == "N" )) { fld.value = (newdate.getMonth()+1) + "/" + newdate.getDate() + "/" + newdate.getFullYear() + " " + newdate.getHours() + ":" + newdate.getMinutes() + ":00"; } else { --- 184,188 ---- } } else { ! if ((isDateTime == true) && (matchArray[1] == "n" || matchArray[1] == "N" )) { fld.value = (newdate.getMonth()+1) + "/" + newdate.getDate() + "/" + newdate.getFullYear() + " " + newdate.getHours() + ":" + newdate.getMinutes() + ":00"; } else { *************** *** 245,252 **** // This routine will check the String against a Reg Exp. ! function checkRegularExpression(el , expValue) { ! var re = new RegExp("" + expValue); ! if (el.value.match(expValue) == null) { ! return "Value does not match expression"; } } --- 232,238 ---- // This routine will check the String against a Reg Exp. ! function checkRegularExpression(el , exp) { ! if(!el.value.match(exp)) { ! return "Value does not match expression"; } } *************** *** 262,266 **** function checkLowerCase(el) { if (el.value.match("[A-Z]+")) { ! return "This must be lower case"; } } --- 248,252 ---- function checkLowerCase(el) { if (el.value.match("[A-Z]+")) { ! return "This must lower case"; } } *************** *** 284,309 **** function checkDataType(el , datatypeValue) { if (datatypeValue=="Integer" || datatypeValue=="Decimal" ) { ! return checkNumericValidation(el, el.getAttribute("rules-datatype-maxSize") , el.getAttribute("rules-datatype-minSize") , (datatypeValue=="Decimal" ? el.getAttribute("rules-datatype-maxDigits") : 0) , el.getAttribute("rules-datatype-minValue") , el.getAttribute("rules-datatype-maxValue") , "," , "."); } else if (datatypeValue=="String") { - var msg = null; if (el.getAttribute("rules-datatype-maxSize")) { ! msg = checkMaxLength(el, el.getAttribute("rules-datatype-maxSize")); } - if (msg != null) return msg; if (el.getAttribute("rules-datatype-minSize")) { ! msg = checkMinLength(el, el.getAttribute("rules-datatype-minSize")); } - if (msg != null) return msg; if (el.getAttribute("rules-datatype-layout")) { ! msg = checkRegularExpression(el, el.getAttribute("rules-datatype-layout")); } - if (msg != null) return msg; } else if (datatypeValue=="DateOnly") { ! return checkDateTime(el, "false" , el.getAttribute("rules-datatype-layout")); } else if (datatypeValue=="DateTime") { ! return checkDateTime(el, "true" , el.getAttribute("rules-datatype-layout")); } ! } \ No newline at end of file --- 270,292 ---- function checkDataType(el , datatypeValue) { if (datatypeValue=="Integer" || datatypeValue=="Decimal" ) { ! return checkNumericValidation(el, el.getAttribute("rules-datatype-maxSize") , el.getAttribute("rules-datatype-minSize") , (datatypeValue=="Decimal" ? el.getAttribute("rules-datatype-digits") : 0) , el.getAttribute("rules-datatype-minValue") , el.getAttribute("rules-datatype-maxValue") , "," , "."); } else if (datatypeValue=="String") { if (el.getAttribute("rules-datatype-maxSize")) { ! checkMaxLength(el, el.getAttribute("rules-datatype-maxSize")); } if (el.getAttribute("rules-datatype-minSize")) { ! checkMinLength(el, el.getAttribute("rules-datatype-minSize")); } if (el.getAttribute("rules-datatype-layout")) { ! checkRegularExpression(el, el.getAttribute("rules-datatype-layout")); } } else if (datatypeValue=="DateOnly") { ! return checkDateTime(el, false , el.getAttribute("rules-datatype-layout")); } else if (datatypeValue=="DateTime") { ! return checkDateTime(el, true , el.getAttribute("rules-datatype-layout")); } ! } ! Index: initializeRules.js =================================================================== RCS file: /cvsroot/jaffa/JaffaCore/source/html/jaffa/js/rules/initializeRules.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** initializeRules.js 23 Feb 2005 20:38:55 -0000 1.1 --- initializeRules.js 28 Feb 2005 19:55:57 -0000 1.2 *************** *** 1,2 **** --- 1,3 ---- + //create a new rules object var validationRules = new rules(); *************** *** 4,9 **** //Register Field Rules validationRules.addFieldRule("rules-datatype" , "checkDataType"); ! validationRules.addFieldRule("rules-bollox" , "bollox"); //Register Page Rules. ! validationRules.addGlobalRule("rules-mandatory" , "mandatory"); --- 5,11 ---- //Register Field Rules validationRules.addFieldRule("rules-datatype" , "checkDataType"); ! validationRules.addFieldRule("rules-mandatory" , "mandatory"); //Register Page Rules. ! ! Index: rulesValidator.js =================================================================== RCS file: /cvsroot/jaffa/JaffaCore/source/html/jaffa/js/rules/rulesValidator.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** rulesValidator.js 23 Feb 2005 20:38:55 -0000 1.1 --- rulesValidator.js 28 Feb 2005 19:55:57 -0000 1.2 *************** *** 83,86 **** --- 83,95 ---- //Performs page level validation function validatePage() { + var objs = getElementsByClassName("WidgetFoldingSection"); + for(i = 0;i<objs.length;i++){ + try { + + document.body.removeChild(document.getElementById(objs[i].id + "section-error")); + + } catch (e) { + } + } this.global = "true"; this.valid = true; *************** *** 95,99 **** } if (this.getFieldCall(j , this.registeredFields[i]) != null && this.getFieldCall(j , this.registeredFields[i]).length >0) { ! errorString += this.getFieldCall(j , this.registeredFields[i]); } } --- 104,108 ---- } if (this.getFieldCall(j , this.registeredFields[i]) != null && this.getFieldCall(j , this.registeredFields[i]).length >0) { ! errorString += this.getFieldCall(j , this.registeredFields[i]); } } *************** *** 155,170 **** } if(message != null && message.length > 0) { ! var newHTML = "<div id='" + el.id + "-error' style='z-index: 2;position:absolute;top:" + findPosY(el) + ";left:" + (findPosX(el) + el.offsetWidth) + ";' >"; ! newHTML += "<table width=\"100%\" class=\"main\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" >"; ! newHTML += "<tr>"; ! newHTML += "<td width=\"100%\" class=\"line\"> </td>"; ! newHTML += "<td width=\"1\" class=\"singleLeft\" width=\"5px\"> </td>" ! newHTML += "<td class=\"mainError\" nowrap>"+ message + "</td>"; ! newHTML += "<td width=\"1\" class=\"singleRight\"> </td>"; ! newHTML += "</tr>"; ! newHTML += "</div>"; ! if (document.getElementById(el.id + "-error") == null) { ! document.body.insertAdjacentHTML("afterBegin", newHTML); } el.setAttribute('validated' ,'false'); el.setAttribute('beenChanged' , 'true'); --- 164,202 ---- } if(message != null && message.length > 0) { ! if (findPosY(el) != 0) { ! var newHTML = "<div id='" + el.id + "-error' style='z-index: 2;position:absolute;top:" + findPosY(el) + ";left:" + (findPosX(el) + el.offsetWidth) + ";' >"; ! newHTML += "<table width=\"100%\" class=\"main\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" >"; ! newHTML += "<tr>"; ! newHTML += "<td width=\"100%\" class=\"line\"> </td>"; ! newHTML += "<td width=\"1\" class=\"singleLeft\" width=\"5px\"> </td>" ! newHTML += "<td class=\"mainError\" nowrap>"+ message + "</td>"; ! newHTML += "<td width=\"1\" class=\"singleRight\"> </td>"; ! newHTML += "</tr>"; ! newHTML += "</div>"; ! if (document.getElementById(el.id + "-error") == null) { ! document.body.insertAdjacentHTML("afterBegin", newHTML); ! } ! } else { ! var elFoldingSection = el; ! while (elFoldingSection.className != "WidgetFoldingSection") { ! elFoldingSection = elFoldingSection.parentNode; ! } ! if (elFoldingSection.className == "WidgetFoldingSection") { ! elFoldingSection = document.getElementById(elFoldingSection.id + "section"); ! var newHTML = "<div id='" + elFoldingSection.id + "-error' style='z-index: 2;position:absolute;top:" + findPosY(elFoldingSection) + ";left:" + (findPosX(elFoldingSection) + elFoldingSection.offsetWidth) + ";' >"; ! newHTML += "<table width=\"100%\" class=\"main\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" >"; ! newHTML += "<tr>"; ! newHTML += "<td width=\"100%\" class=\"line\"> </td>"; ! newHTML += "<td width=\"1\" class=\"singleLeft\" width=\"5px\"> </td>" ! newHTML += "<td class=\"mainError\" nowrap>There were errors within section</td>"; ! newHTML += "<td width=\"1\" class=\"singleRight\"> </td>"; ! newHTML += "</tr>"; ! newHTML += "</div>"; ! if (document.getElementById(elFoldingSection.id + "-error") == null) { ! document.body.insertAdjacentHTML("afterBegin", newHTML); ! } ! } } + el.setAttribute('validated' ,'false'); el.setAttribute('beenChanged' , 'true'); |