Update of /var/cvs/html/mmbase/validation In directory james.mmbase.org:/tmp/cvs-serv14766
Modified Files: Tag: MMBase-1_8 validation.js.jsp Log Message: ported from head See also: http://cvs.mmbase.org/viewcvs/html/mmbase/validation Index: validation.js.jsp =================================================================== RCS file: /var/cvs/html/mmbase/validation/validation.js.jsp,v retrieving revision 1.11.2.30 retrieving revision 1.11.2.31 diff -u -b -r1.11.2.30 -r1.11.2.31 --- validation.js.jsp 3 Mar 2009 15:33:03 -0000 1.11.2.30 +++ validation.js.jsp 28 Apr 2009 16:34:37 -0000 1.11.2.31 @@ -9,7 +9,7 @@ * then call validator.setup(el). * * @author Michiel Meeuwissen - * @version $Id: validation.js.jsp,v 1.11.2.30 2009/03/03 15:33:03 michiel Exp $ + * @version $Id: validation.js.jsp,v 1.11.2.31 2009/04/28 16:34:37 michiel Exp $ */ @@ -76,9 +76,10 @@ MMBaseValidator.prototype.onLoad = function(event) { - if (this.root == null) { + if (this.root == null && event != null) { this.root = event.target || event.srcElement; } + //console.log("Root" + this.root); this.addValidation(this.root); //validatePage(target); } @@ -155,7 +156,6 @@ if (typeof(path) == "string") path = path.split(/\s+/); var tagName = path.shift(); - var tag = el == null ? null : el.firstChild; while (tag != null) { if (tag.nodeType == 1) { @@ -327,6 +327,11 @@ el.mm_isbinary = this.hasJavaClass(el, "org\.mmbase\.datatypes\.BinaryDataType"); return el.isbinary; } +MMBaseValidator.prototype.isCheckEquality = function(el) { + if (el.mm_ischeckequality != null) return el.mm_ischeckequality; + el.mm_ischeckequality = this.hasJavaClass(el, "org\.mmbase\.datatypes\.CheckEqualityDataType"); + return el.ischeckequality; +} MMBaseValidator.prototype.isXml = function(el) { if (el.mm_isxml != null) return el.mm_isxml; @@ -624,7 +629,6 @@ } else { return el.value; } - } /** @@ -638,7 +642,12 @@ this.log("Unsupported element " + el); return true; // not yet supported } - if (this.isBinary(el)) return true; // not yet supported + if (this.isBinary(el)) { + return true; // not yet supported + } + if (this.isCheckEquality(el)) { + return true; // not yet supported + } if (this.isRequired(el) && this.enforce(el, el.mm_isrequired_enforce)) { if (value == "") { @@ -671,8 +680,19 @@ MMBaseValidator.prototype.serverValidation = function(el) { if (el == null) return; try { + if (this.isBinary(el)) { + el.serverValidated = true; + return $("<result valid='true' class='implicit_binary' />")[0]; + } + if (this.isCheckEquality(el)) { // Not yet supported + el.serverValidated = true; + return $("<result valid='true' class='implicit_checkequality' />")[0]; + } + + var key = this.getDataTypeKey(el); var value = this.getDateValue(el); + var validationUrl = '<mm:url page="/mmbase/validation/valid.jspx" />'; this.getDataTypeArguments(key) + (this.lang != null ? "&lang=" + this.lang : "") + @@ -694,7 +714,8 @@ result = res.responseXML; //console.log("" + res); } else { - result = $("<result valid='false' />"); + el.serverValidated = true; + result = $("<result valid='false' />")[0]; } } }); @@ -710,7 +731,11 @@ */ MMBaseValidator.prototype.validResult = function(xml) { try { - return "true" == "" + this.find(xml, 'result')[0].getAttribute("valid"); + if (xml.documentElement) { + return "true" == xml.documentElement.getAttribute("valid"); + } else { + return "true" == "" + $(xml).attr("valid"); + } } catch (ex) { this.log(ex); throw ex; @@ -757,7 +782,7 @@ errorDiv.className = valid ? "mm_check_noerror" : "mm_check_error"; if (errorDiv) { $(errorDiv).empty(); - var errors = serverXml.documentElement.childNodes; + var errors = serverXml.documentElement ? serverXml.documentElement.childNodes : []; this.log("errors for " + element.id + " " + serverXml + " " + errors.length); _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs