[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-04-28 Thread Michiel Meeuwissen
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 -   1.11.2.30
+++ validation.js.jsp   28 Apr 2009 16:34:37 -  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 $("")[0];
+}
+if (this.isCheckEquality(el)) { // Not yet supported
+   el.serverValidated = true;
+return $("")[0];
+}
+
+
 var key = this.getDataTypeKey(el);
 var value = this.getDateValue(el);
+
 var validationUrl = '';
 this.getDataTypeArguments(key) +
 (this.lang != null ? "&lang=" + this.lang : "") +
@@ -694,7 +714,8 @@
result = res.responseXML;
//console.log("" + res);
} else {
-   result = $("");
+   el.serverValidated = true;
+   result = $("")[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


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-04-28 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv11480

Modified Files:
validation.js.jsp 
Log Message:
CheckEqualityDatatype's are simply not supported with this javascript-library 
(yet?). So don't do it either


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.60
retrieving revision 1.61
diff -u -b -r1.60 -r1.61
--- validation.js.jsp   15 Apr 2009 15:59:19 -  1.60
+++ validation.js.jsp   28 Apr 2009 14:44:06 -  1.61
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.60 2009/04/15 15:59:19 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.61 2009/04/28 14:44:06 michiel Exp $
  */
 
 
@@ -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;
@@ -640,6 +645,9 @@
 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 == "") {
@@ -674,7 +682,11 @@
 try {
 if (this.isBinary(el)) {
el.serverValidated = true;
-return $("")[0];
+return $("")[0];
+}
+if (this.isCheckEquality(el)) { // Not yet supported
+   el.serverValidated = true;
+return $("")[0];
 }
 
 
@@ -770,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


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-04-15 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20402

Modified Files:
validation.js.jsp 
Log Message:
binaries were not correctly server side validated. This is simply not 
supported, so do not every try it. (It probably can be supported but it would 
be not very simple)


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.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- validation.js.jsp   3 Mar 2009 15:32:35 -   1.59
+++ validation.js.jsp   15 Apr 2009 15:59:19 -  1.60
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.59 2009/03/03 15:32:35 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.60 2009/04/15 15:59:19 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) {
@@ -624,7 +624,6 @@
 } else {
 return el.value;
 }
-
 }
 
 /**
@@ -638,7 +637,9 @@
 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.isRequired(el) && this.enforce(el, el.mm_isrequired_enforce)) {
 if (value == "") {
@@ -671,8 +672,15 @@
 MMBaseValidator.prototype.serverValidation = function(el) {
 if (el == null) return;
 try {
+if (this.isBinary(el)) {
+   el.serverValidated = true;
+return $("")[0];
+}
+
+
 var key = this.getDataTypeKey(el);
 var value = this.getDateValue(el);
+
 var validationUrl = '';
 this.getDataTypeArguments(key) +
 (this.lang != null ? "&lang=" + this.lang : "") +
@@ -694,7 +702,8 @@
result = res.responseXML;
//console.log("" + res);
} else {
-   result = $("");
+   el.serverValidated = true;
+   result = $("")[0];
}
}
   });
@@ -710,7 +719,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;
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-03-03 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20614

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
cache 404 too, avoid NPE


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.29
retrieving revision 1.11.2.30
diff -u -b -r1.11.2.29 -r1.11.2.30
--- validation.js.jsp   11 Nov 2008 16:06:36 -  1.11.2.29
+++ validation.js.jsp   3 Mar 2009 15:33:03 -   1.11.2.30
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.29 2008/11/11 16:06:36 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.30 2009/03/03 15:33:03 michiel Exp 
$
  */
 
 
@@ -156,7 +156,7 @@
 
 var tagName = path.shift();
 
-var tag = el.firstChild;
+var tag = el == null ? null : el.firstChild;
 while (tag != null) {
if (tag.nodeType == 1) {
var name = tag.nodeName.replace(/^.*:/,'');
@@ -459,7 +459,7 @@
$.ajax({async: false, url: url, type: "GET",
 dataType: "xml", data: params,
complete: function(res, status){
-   if (status == "success") {
+   if (status == "success" || res.status == '404') {
dataType = res.responseXML;
self.dataTypeCache[el.mm_key] = dataType;
}
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-03-03 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20550

Modified Files:
validation.js.jsp 
Log Message:
cache 404 too, avoid NPE


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.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- validation.js.jsp   9 Feb 2009 11:42:13 -   1.58
+++ validation.js.jsp   3 Mar 2009 15:32:35 -   1.59
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.58 2009/02/09 11:42:13 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.59 2009/03/03 15:32:35 michiel Exp $
  */
 
 
@@ -156,7 +156,7 @@
 
 var tagName = path.shift();
 
-var tag = el.firstChild;
+var tag = el == null ? null : el.firstChild;
 while (tag != null) {
if (tag.nodeType == 1) {
var name = tag.nodeName.replace(/^.*:/,'');
@@ -459,7 +459,7 @@
$.ajax({async: false, url: url, type: "GET",
 dataType: "xml", data: params,
complete: function(res, status){
-   if (status == "success") {
+   if (status == "success" || res.status == '404') {
dataType = res.responseXML;
self.dataTypeCache[el.mm_key] = dataType;
}
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-02-09 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv11517

Modified Files:
validation.js.jsp 
Log Message:
ported from 1.8


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.57
retrieving revision 1.58
diff -u -b -r1.57 -r1.58
--- validation.js.jsp   7 Jan 2009 18:30:06 -   1.57
+++ validation.js.jsp   9 Feb 2009 11:42:13 -   1.58
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.57 2009/01/07 18:30:06 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.58 2009/02/09 11:42:13 michiel Exp $
  */
 
 
@@ -18,13 +18,16 @@
 
 this.logEnabled   = false;
 this.traceEnabled = false;
+
+
+this.dataTypeCache   = new Object();
 this.invalidElements = 0;
 //this.changedElements  = 0;
 this.elements= [];
 this.validateHook;
 this.root = root;
 this.setup();
-this.lang  = "client";
+this.lang  = null;
 this.sessionName   = null;
 this.id = MMBaseValidator.validators.push(this);
 if (MMBaseValidator.validators.length == 1) {
@@ -36,10 +39,6 @@
 
 }
 
-
-MMBaseValidator.dataTypeCache= new Object();
-MMBaseValidator.prefetchedNodemanagers   = new Object();
-
 MMBaseValidator.validators = [];
 
 
@@ -93,9 +92,11 @@
 errorTextArea.value = "LOG: " + msg + "\n" + errorTextArea.value;
 } else {
 // firebug console
+   if (typeof(console) != "undefined") {
 console.log(msg);
 }
 }
+}
 }
 
 MMBaseValidator.prototype.trace = function (msg) {
@@ -105,9 +106,11 @@
 errorTextArea.value = "TRACE: " + msg + "\n" + errorTextArea.value;
 } else {
 // firebug console
+   if (typeof(console) != "undefined") {
 console.log(msg);
 }
 }
+}
 }
 
 /**
@@ -177,8 +180,8 @@
 MMBaseValidator.prototype.isRequired = function(el) {
 if (el.mm_isrequired != null) return el.mm_isrequired;
 var re = this.find(this.getDataTypeXml(el), 'datatype required')[0];
-el.mm_isrequired = "true" == "" + re.getAttribute("value");
-el.mm_isrequired_enforce = re.getAttribute("enforce");
+el.mm_isrequired = re != null && ("true" == "" + re.getAttribute("value"));
+el.mm_isrequired_enforce = re != null && re.getAttribute("enforce");
 return el.mm_isrequired;
 }
 
@@ -273,6 +276,7 @@
 var pattern = new RegExp(javaClass);
 var xml = this.getDataTypeXml(el);
 var javaClassElement = this.find(xml, 'datatype class')[0];
+if (! javaClassElement) return false;
 var name = javaClassElement.getAttribute("name");
 if (pattern.test(name)) {
 return true;
@@ -324,34 +328,15 @@
 return el.isbinary;
 }
 
-MMBaseValidator.prototype.INTEGER = /^[+-]?\d+$/;
-
-MMBaseValidator.prototype.getDecimalSeparator = function () {
-if (this.DECIMAL == null) {
- var url = '';
- var params = {lang: this.lang };
- var result;
- $.ajax({async: false, url: url, type: "GET", dataType: "xml", data: 
params,
-  complete: function(res, status){
-  if (status == "success") {
-   result = res.responseXML;
-  } else {
-   result = $("");
-  }
-  }
-});
- var decimal = this.find(result, 'numberInfo 
decimalSeparator')[0].childNodes[0].nodeValue;
- this.DECIMAL = decimal  == "." ? "\\." : "[\\.\\" + decimal + "]";
-}
-return this.DECIMAL;
+MMBaseValidator.prototype.isXml = function(el) {
+if (el.mm_isxml != null) return el.mm_isxml;
+el.mm_isxml= this.hasJavaClass(el, "org\.mmbase\.datatypes\.XmlDataType");
+return el.mm_isxml;
 }
-MMBaseValidator.prototype.floatRegExp = function() {
-if (this.FLOAT == null) {
- this.FLOAT = new RegExp("^[+-]?(\\d+|\\d+" + 
this.getDecimalSeparator() + "\\d*|\\d*" + this.getDecimalSeparator() + 
"\\d+)(e[+-]?\\d+|)$");
-}
-return this.FLOAT;
 
-}
+MMBaseValidator.prototype.INTEGER = /^[+-]?\d+$/;
+
+MMBaseValidator.prototype.FLOAT   = 
/^[+-]?(\d+|\d+\.\d*|\d*\.\d+)(e[+-]?\d+|)$/i;
 
 MMBaseValidator.prototype.typeValid = function(el) {
 if (el.value == "") return true;
@@ -360,7 +345,7 @@
 if (! this.INTEGER.test(el.value)) return false;
 }
 if (this.isFloat(el)) {
-if (! this.floatRegExp().test(el.value)) return false;
+if (! this.FLOAT.test(el.value)) return false;
 }
 return true;
 
@@ -465,16 +450,18 @@
 if (el.mm_key == null) {
 el.mm_key = key.string();
 }
-var dataType = MMBaseValidator.dataTypeCache[el.mm_key];
+var dataT

[MMBASE CVS] html/mmbase/validation validation.js.jsp

2009-01-07 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv26095

Modified Files:
validation.js.jsp 
Log Message:
indentation


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.56
retrieving revision 1.57
diff -u -b -r1.56 -r1.57
--- validation.js.jsp   30 Oct 2008 12:43:01 -  1.56
+++ validation.js.jsp   7 Jan 2009 18:30:06 -   1.57
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.56 2008/10/30 12:43:01 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.57 2009/01/07 18:30:06 michiel Exp $
  */
 
 
@@ -467,7 +467,6 @@
 }
 var dataType = MMBaseValidator.dataTypeCache[el.mm_key];
 if (dataType == null) {
-
  var url = '';
  var params = this.getDataTypeArguments(key);
  var self = this;
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-10-30 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv11522

Modified Files:
validation.js.jsp 
Log Message:
support for an 'mmValidate' event


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.55
retrieving revision 1.56
diff -u -b -r1.55 -r1.56
--- validation.js.jsp   23 Oct 2008 14:42:06 -  1.55
+++ validation.js.jsp   30 Oct 2008 12:43:01 -  1.56
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.55 2008/10/23 14:42:06 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.56 2008/10/30 12:43:01 michiel Exp $
  */
 
 
@@ -807,6 +807,7 @@
 if (this.validateHook) {
 this.validateHook(valid, element);
 }
+$(this).trigger("mmValidate", [valid, element]);
 }
 
 /**
@@ -896,12 +897,14 @@
 if (this.validateHook) {
 this.validateHook(valid, entry);
 }
+$(this).trigger("mmValidate", [valid, entry]);
 
 }
 if (els.length == 0) {
 if (this.validateHook) {
 this.validateHook(this.invalidElements == 0);
 }
+$(this).trigger("mmValidate", [this.invalidElements == 0]);
 }
 el = null;
 }
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-10-23 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv14022

Modified Files:
validation.js.jsp 
Log Message:
made caches static, made it possible to prefech node managers by comma 
separated list


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.54
retrieving revision 1.55
diff -u -b -r1.54 -r1.55
--- validation.js.jsp   12 Aug 2008 19:46:14 -  1.54
+++ validation.js.jsp   23 Oct 2008 14:42:06 -  1.55
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.54 2008/08/12 19:46:14 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.55 2008/10/23 14:42:06 michiel Exp $
  */
 
 
@@ -18,9 +18,6 @@
 
 this.logEnabled   = false;
 this.traceEnabled = false;
-
-
-this.dataTypeCache   = new Object();
 this.invalidElements = 0;
 //this.changedElements  = 0;
 this.elements= [];
@@ -39,6 +36,10 @@
 
 }
 
+
+MMBaseValidator.dataTypeCache= new Object();
+MMBaseValidator.prefetchedNodemanagers   = new Object();
+
 MMBaseValidator.validators = [];
 
 
@@ -464,7 +465,7 @@
 if (el.mm_key == null) {
 el.mm_key = key.string();
 }
-var dataType = this.dataTypeCache[el.mm_key];
+var dataType = MMBaseValidator.dataTypeCache[el.mm_key];
 if (dataType == null) {
 
var url = '';
@@ -474,7 +475,7 @@
complete: function(res, status){
if (status == "success") {
dataType = res.responseXML;
-   self.dataTypeCache[el.mm_key] = dataType;
+   MMBaseValidator.dataTypeCache[el.mm_key] = dataType;
}
}
   });
@@ -536,11 +537,17 @@
  * be done for every field.
  *
  */
-MMBaseValidator.prototype.prefetchNodeManager = function(nodemanager) {
+MMBaseValidator.prototype.prefetchNodeManager = function(n) {
 
+var nodemanagers = n.split(",");
+for (var i in nodemanagers) {
+var nodemanager = nodemanagers[i];
+if (! MMBaseValidator.prefetchedNodemanagers[nodemanager]) {
 var url = '';
 var params = {nodemanager: nodemanager };
 var self = this;
+MMBaseValidator.prefetchedNodemanagers[nodemanager] = true;
+
 $.ajax({async: false, url: url, type: "GET", dataType: "xml", data: params,
complete: function(res, status){
if (status == "success") {
@@ -551,13 +558,15 @@
var key = new Key();
key.nodeManager = nodemanager;
key.field = fields[i].getAttribute("name");
-   self.dataTypeCache[key.string()] = fields[i];
+MMBaseValidator.dataTypeCache[key.string()] = 
fields[i];
}
//console.log("" + res);
}
}
   });
 
+}
+}
 }
 
 
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-08-12 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv8949

Modified Files:
validation.js.jsp 
Log Message:
work if 'window' was specified as root


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.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- validation.js.jsp   12 Aug 2008 19:41:31 -  1.53
+++ validation.js.jsp   12 Aug 2008 19:46:14 -  1.54
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.53 2008/08/12 19:41:31 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.54 2008/08/12 19:46:14 michiel Exp $
  */
 
 
@@ -62,7 +62,10 @@
 
 
 MMBaseValidator.prototype.setup = function(el) {
-if (el != null) this.root = el;
+if (el != null) {
+   this.root = el;
+   if (this.root == window) this.root = this.root.document;
+}
 if (this.root != null) {
var self = this;
$(document).ready(function(event) {
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-18 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv31022

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
a bit more backwards compatible


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.27
retrieving revision 1.11.2.28
diff -u -b -r1.11.2.27 -r1.11.2.28
--- validation.js.jsp   18 Apr 2008 08:53:54 -  1.11.2.27
+++ validation.js.jsp   18 Apr 2008 08:58:09 -  1.11.2.28
@@ -9,7 +9,7 @@
  *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.27 2008/04/18 08:53:54 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.28 2008/04/18 08:58:09 michiel Exp 
$
  */
 
 
@@ -62,7 +62,10 @@
 
 
 MMBaseValidator.prototype.setup = function(el) {
-if (el != null) this.root = el;
+if (el != null) {
+   this.root = el;
+   if (this.root == window) this.root = this.root.document;
+}
 if (this.root != null) {
var self = this;
$(document).ready(function(event) {
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-18 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv30884

Modified Files:
validation.js.jsp 
Log Message:
simplified api a bit, and documnted that. Also moved 'watched' functionality 
inside the MMBaseVAlidator namespace


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.51
retrieving revision 1.52
diff -u -b -r1.51 -r1.52
--- validation.js.jsp   14 Apr 2008 15:46:48 -  1.51
+++ validation.js.jsp   18 Apr 2008 08:54:28 -  1.52
@@ -4,42 +4,22 @@
 /**
  * See test.jspx for example usage.
 
- * new MMBaseValidator(window, root): attaches events to all elements in root 
when loading window.
- * new MMBaseValidator(window): attaches events to all elements in window when 
loading window.
+ * new MMBaseValidator(el): attaches events to all elements in elwhen ready.
  * new MMBaseValidator():   attaches no events yet. You could replace some 
functions, add hooks, set settings first or so.
- *  then call validator.setup(window[,root]).
+ *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.51 2008/04/14 15:46:48 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.52 2008/04/18 08:54:28 michiel Exp $
  */
-var validators = new Array();
 
 
 
-// I don't know how to do timeouts in a OO way.
-function watcher() {
-for (var i = 0; i < validators.length; i++) {
-   var validator = validators[i];
-   var el = validator.activeElement;
-   var now = new Date().getTime();
-if (el != null) {
-if (! el.serverValidated) {
-   if (new Date(validator.checkAfter + el.lastChange.getTime()) < 
now) {
-  
validators[i].validateElement(validators[i].activeElement, true);
-   }
-}
-}
-}
-setTimeout("watcher()", 150);
-
-}
-setTimeout("watcher()", 500);
-
 function MMBaseValidator(root) {
 
 this.logEnabled   = false;
 this.traceEnabled = false;
 
+
 this.dataTypeCache   = new Object();
 this.invalidElements = 0;
 //this.changedElements  = 0;
@@ -49,14 +29,40 @@
 this.setup();
 this.lang  = null;
 this.sessionName   = null;
-this.id = validators.push(this);
+this.id = MMBaseValidator.validators.push(this);
+if (MMBaseValidator.validators.length == 1) {
+   setTimeout(MMBaseValidator.watcher, 500);
+}
 this.activeElement = null;
 this.checkAfter= 600;
 this.logArea   = "logarea";
 
 }
 
-MMBaseValidator.prototype.setup = function() {
+MMBaseValidator.validators = [];
+
+
+MMBaseValidator.watcher = function() {
+for (var i = 0; i < MMBaseValidator.validators.length; i++) {
+   var validator = MMBaseValidator.validators[i];
+   var el = validator.activeElement;
+   var now = new Date().getTime();
+if (el != null) {
+if (! el.serverValidated) {
+   if (new Date(validator.checkAfter + el.lastChange.getTime()) < 
now) {
+
MMBaseValidator.validators[i].validateElement(MMBaseValidator.validators[i].activeElement,
 true);
+   }
+}
+}
+}
+setTimeout(MMBaseValidator.watcher, 150);
+
+}
+
+
+
+MMBaseValidator.prototype.setup = function(el) {
+if (el != null) this.root = el;
 if (this.root != null) {
var self = this;
$(document).ready(function(event) {
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-18 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv30823

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
simplified api a bit, and documnted that. Also moved 'watched' functionality 
inside the MMBaseVAlidator namespace


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.26
retrieving revision 1.11.2.27
diff -u -b -r1.11.2.26 -r1.11.2.27
--- validation.js.jsp   14 Apr 2008 15:46:23 -  1.11.2.26
+++ validation.js.jsp   18 Apr 2008 08:53:54 -  1.11.2.27
@@ -4,42 +4,22 @@
 /**
  * See test.jspx for example usage.
 
- * new MMBaseValidator(window, root): attaches events to all elements in root 
when loading window.
- * new MMBaseValidator(window): attaches events to all elements in window when 
loading window.
+ * new MMBaseValidator(el): attaches events to all elements in elwhen ready.
  * new MMBaseValidator():   attaches no events yet. You could replace some 
functions, add hooks, set settings first or so.
- *  then call validator.setup(window[,root]).
+ *  then call validator.setup(el).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.26 2008/04/14 15:46:23 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.27 2008/04/18 08:53:54 michiel Exp 
$
  */
-var validators = new Array();
 
 
 
-// I don't know how to do timeouts in a OO way.
-function watcher() {
-for (var i = 0; i < validators.length; i++) {
-   var validator = validators[i];
-   var el = validator.activeElement;
-   var now = new Date().getTime();
-if (el != null) {
-if (! el.serverValidated) {
-   if (new Date(validator.checkAfter + el.lastChange.getTime()) < 
now) {
-  
validators[i].validateElement(validators[i].activeElement, true);
-   }
-}
-}
-}
-setTimeout("watcher()", 150);
-
-}
-setTimeout("watcher()", 500);
-
 function MMBaseValidator(root) {
 
 this.logEnabled   = false;
 this.traceEnabled = false;
 
+
 this.dataTypeCache   = new Object();
 this.invalidElements = 0;
 //this.changedElements  = 0;
@@ -49,14 +29,40 @@
 this.setup();
 this.lang  = null;
 this.sessionName   = null;
-this.id = validators.push(this);
+this.id = MMBaseValidator.validators.push(this);
+if (MMBaseValidator.validators.length == 1) {
+   setTimeout(MMBaseValidator.watcher, 500);
+}
 this.activeElement = null;
 this.checkAfter= 600;
 this.logArea   = "logarea";
 
 }
 
-MMBaseValidator.prototype.setup = function() {
+MMBaseValidator.validators = [];
+
+
+MMBaseValidator.watcher = function() {
+for (var i = 0; i < MMBaseValidator.validators.length; i++) {
+   var validator = MMBaseValidator.validators[i];
+   var el = validator.activeElement;
+   var now = new Date().getTime();
+if (el != null) {
+if (! el.serverValidated) {
+   if (new Date(validator.checkAfter + el.lastChange.getTime()) < 
now) {
+
MMBaseValidator.validators[i].validateElement(MMBaseValidator.validators[i].activeElement,
 true);
+   }
+}
+}
+}
+setTimeout(MMBaseValidator.watcher, 150);
+
+}
+
+
+
+MMBaseValidator.prototype.setup = function(el) {
+if (el != null) this.root = el;
 if (this.root != null) {
var self = this;
$(document).ready(function(event) {
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-14 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv16392

Modified Files:
validation.js.jsp 
Log Message:
ported 'removeValidation' from 1.8


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.50
retrieving revision 1.51
diff -u -b -r1.50 -r1.51
--- validation.js.jsp   3 Apr 2008 16:23:33 -   1.50
+++ validation.js.jsp   14 Apr 2008 15:46:48 -  1.51
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.50 2008/04/03 16:23:33 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.51 2008/04/14 15:46:48 michiel Exp $
  */
 var validators = new Array();
 
@@ -35,7 +35,7 @@
 }
 setTimeout("watcher()", 500);
 
-function MMBaseValidator(w, root) {
+function MMBaseValidator(root) {
 
 this.logEnabled   = false;
 this.traceEnabled = false;
@@ -43,10 +43,10 @@
 this.dataTypeCache   = new Object();
 this.invalidElements = 0;
 //this.changedElements  = 0;
-this.elements= new Array();
+this.elements= [];
 this.validateHook;
-this.setup(w);
 this.root = root;
+this.setup();
 this.lang  = null;
 this.sessionName   = null;
 this.id = validators.push(this);
@@ -56,8 +56,8 @@
 
 }
 
-MMBaseValidator.prototype.setup = function(w) {
-if (w != null) {
+MMBaseValidator.prototype.setup = function() {
+if (this.root != null) {
var self = this;
$(document).ready(function(event) {
self.onLoad(event);
@@ -778,6 +778,29 @@
 return this.invalidElements == 0;
 }
 
+MMBaseValidator.prototype.removeValidation = function(el) {
+if (el == null) {
+el = document.documentElement;
+}
+var self = this;
+var els = $(el).find(".mm_validate *").each(function() {
+   var entry = this;
+   if ($.inArray(entry, self.elements)) {
+   if (! entry.prevValid) self.invalidElements--;
+   $(entry).unbind();
+   var newElements = [];
+   $(self.elements).each(function() {
+   if (this != entry) {
+   newElements.push(this);
+   }
+   });
+   self.elements = newElements;
+   }
+});
+
+}
+
+
 /**
  * Adds event handlers to all mm_validate form entries
  */
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-14 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv16349

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
typos


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.25
retrieving revision 1.11.2.26
diff -u -b -r1.11.2.25 -r1.11.2.26
--- validation.js.jsp   14 Apr 2008 14:19:18 -  1.11.2.25
+++ validation.js.jsp   14 Apr 2008 15:46:23 -  1.11.2.26
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.25 2008/04/14 14:19:18 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.26 2008/04/14 15:46:23 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -785,13 +785,13 @@
 var self = this;
 var els = $(el).find(".mm_validate *").each(function() {
var entry = this;
-   if ($.inArray(entry(self.elements))) {
+   if ($.inArray(entry, self.elements)) {
if (! entry.prevValid) self.invalidElements--;
$(entry).unbind();
var newElements = [];
$(self.elements).each(function() {
if (this != entry) {
-   newWlements.push(this);
+   newElements.push(this);
}
});
self.elements = newElements;
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-14 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv11870

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
simplified


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.24
retrieving revision 1.11.2.25
diff -u -b -r1.11.2.24 -r1.11.2.25
--- validation.js.jsp   4 Apr 2008 10:16:20 -   1.11.2.24
+++ validation.js.jsp   14 Apr 2008 14:19:18 -  1.11.2.25
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.24 2008/04/04 10:16:20 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.25 2008/04/14 14:19:18 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -35,7 +35,7 @@
 }
 setTimeout("watcher()", 500);
 
-function MMBaseValidator(w, root) {
+function MMBaseValidator(root) {
 
 this.logEnabled   = false;
 this.traceEnabled = false;
@@ -45,8 +45,8 @@
 //this.changedElements  = 0;
 this.elements= [];
 this.validateHook;
-this.setup(w);
 this.root = root;
+this.setup();
 this.lang  = null;
 this.sessionName   = null;
 this.id = validators.push(this);
@@ -56,8 +56,8 @@
 
 }
 
-MMBaseValidator.prototype.setup = function(w) {
-if (w != null) {
+MMBaseValidator.prototype.setup = function() {
+if (this.root != null) {
var self = this;
$(document).ready(function(event) {
self.onLoad(event);
@@ -800,6 +800,7 @@
 
 }
 
+
 /**
  * Adds event handlers to all mm_validate form entries
  */
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-04 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv9699

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
added a method to remove validation bindings


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.23
retrieving revision 1.11.2.24
diff -u -b -r1.11.2.23 -r1.11.2.24
--- validation.js.jsp   3 Apr 2008 16:23:12 -   1.11.2.23
+++ validation.js.jsp   4 Apr 2008 10:16:20 -   1.11.2.24
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.23 2008/04/03 16:23:12 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.24 2008/04/04 10:16:20 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -43,7 +43,7 @@
 this.dataTypeCache   = new Object();
 this.invalidElements = 0;
 //this.changedElements  = 0;
-this.elements= new Array();
+this.elements= [];
 this.validateHook;
 this.setup(w);
 this.root = root;
@@ -778,6 +778,28 @@
 return this.invalidElements == 0;
 }
 
+MMBaseValidator.prototype.removeValidation = function(el) {
+if (el == null) {
+el = document.documentElement;
+}
+var self = this;
+var els = $(el).find(".mm_validate *").each(function() {
+   var entry = this;
+   if ($.inArray(entry(self.elements))) {
+   if (! entry.prevValid) self.invalidElements--;
+   $(entry).unbind();
+   var newElements = [];
+   $(self.elements).each(function() {
+   if (this != entry) {
+   newWlements.push(this);
+   }
+   });
+   self.elements = newElements;
+   }
+});
+
+}
+
 /**
  * Adds event handlers to all mm_validate form entries
  */
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-03 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20519

Modified Files:
validation.js.jsp 
Log Message:
dammit, still broken by one space


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.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- validation.js.jsp   3 Apr 2008 16:14:29 -   1.49
+++ validation.js.jsp   3 Apr 2008 16:23:33 -   1.50
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.49 2008/04/03 16:14:29 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.50 2008/04/03 16:23:33 michiel Exp $
  */
 var validators = new Array();
 
@@ -139,7 +139,7 @@
 */
 MMBaseValidator.prototype.find = function(el, path, r) {
 if (r == null) r = [];
-if (typeof(path) == "string") path = path.split(" ");
+if (typeof(path) == "string") path = path.split(/\s+/);
 
 var tagName = path.shift();
 
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-03 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20460

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
dammit, still broken by one space


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.22
retrieving revision 1.11.2.23
diff -u -b -r1.11.2.22 -r1.11.2.23
--- validation.js.jsp   3 Apr 2008 16:14:03 -   1.11.2.22
+++ validation.js.jsp   3 Apr 2008 16:23:12 -   1.11.2.23
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.22 2008/04/03 16:14:03 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.23 2008/04/03 16:23:12 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -139,7 +139,7 @@
 */
 MMBaseValidator.prototype.find = function(el, path, r) {
 if (r == null) r = [];
-if (typeof(path) == "string") path = path.split(" ");
+if (typeof(path) == "string") path = path.split(/\s+/);
 
 var tagName = path.shift();
 
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-03 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20326

Modified Files:
validation.js.jsp 
Log Message:
work around a bug in IE, which is not worked around by jquery. 
(http://dev.jquery.com/ticket/155)


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.48
retrieving revision 1.49
diff -u -b -r1.48 -r1.49
--- validation.js.jsp   1 Apr 2008 15:47:11 -   1.48
+++ validation.js.jsp   3 Apr 2008 16:14:29 -   1.49
@@ -10,11 +10,13 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.48 2008/04/01 15:47:11 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.49 2008/04/03 16:14:29 michiel Exp $
  */
 var validators = new Array();
 
 
+
+// I don't know how to do timeouts in a OO way.
 function watcher() {
 for (var i = 0; i < validators.length; i++) {
var validator = validators[i];
@@ -119,7 +121,43 @@
 }
 
 MMBaseValidator.prototype.isChanged = function(el) {
+if (el != null) {
 return this.getValue(el) != el.originalValue;
+} else {
+   var els = this.elements;
+   for (var  i = 0; i < els.length; i++) {
+var entry = els[i];
+   if (this.isChanged(entry)) return true;
+   }
+   return false;
+}
+}
+
+/**
+ * Work around http://dev.jquery.com/ticket/155
+ * Actually, or course, it's a bug in that horrible browser IE.
+*/
+MMBaseValidator.prototype.find = function(el, path, r) {
+if (r == null) r = [];
+if (typeof(path) == "string") path = path.split(" ");
+
+var tagName = path.shift();
+
+var tag = el.firstChild;
+while (tag != null) {
+   if (tag.nodeType == 1) {
+   var name = tag.nodeName.replace(/^.*:/,'');
+   if (name == tagName) {
+   if (path.length == 0) {
+   r.push(tag);
+   } else {
+   this.find(tag, path, r);
+   }
+   }
+   }
+   tag = tag.nextSibling;
+}
+return r;
 }
 
 
@@ -128,7 +166,7 @@
  */
 MMBaseValidator.prototype.isRequired = function(el) {
 if (el.mm_isrequired != null) return el.mm_isrequired;
-var re = $(this.getDataTypeXml(el)).find('datatype required')[0];
+var re = this.find(this.getDataTypeXml(el), 'datatype required')[0];
 el.mm_isrequired = "true" == "" + re.getAttribute("value");
 el.mm_isrequired_enforce = re.getAttribute("enforce");
 return el.mm_isrequired;
@@ -142,7 +180,7 @@
 var xml = this.getDataTypeXml(el);
 
 if (el.mm_minLength_set == null) {
-var ml =  $(xml).find('datatype minLength')[0];
+var ml =  this.find(xml, 'datatype minLength')[0];
 if (ml != null) {
 el.mm_minLength = ml.getAttribute("value");
 el.mm_minLength_enforce = ml.getAttribute("enforce");
@@ -154,7 +192,7 @@
 }
 
 if (el.mm_maxLength_set == null) {
-var ml =  $(xml).find('datatype maxLength')[0];
+var ml =  this.find(xml, 'datatype maxLength')[0];
 if (ml != null) {
 el.mm_maxLength = ml.getAttribute("value");
 el.mm_maxLength_enforce = ml.getAttribute("enforce");
@@ -167,7 +205,7 @@
 }
 
 if (el.mm_length_set == null) {
-var l =  $(xml).find('datatype length')[0];
+var l =  this.find(xml, 'datatype length')[0];
 if (l != null) {
 el.mm_length = l.getAttribute("value");
 el.mm_length_enforce = l.getAttribute("enforce");
@@ -210,7 +248,7 @@
 if (this.isString(el)) {
 var xml = this.getDataTypeXml(el);
 if (el.mm_pattern == null) {
-var javaPattern = $(xml).find('datatype  
pattern')[0].getAttribute("value");
+var javaPattern = this.find(xml, 'datatype  
pattern')[0].getAttribute("value");
 el.mm_pattern = this.javaScriptPattern(javaPattern);
 if (el.mm_pattern == null) return true;
 this.trace("pattern : " + el.mm_pattern + " " + el.value);
@@ -224,7 +262,7 @@
 MMBaseValidator.prototype.hasJavaClass = function(el, javaClass) {
 var pattern = new RegExp(javaClass);
 var xml = this.getDataTypeXml(el);
-var javaClassElement = $(xml).find('datatype class')[0];
+var javaClassElement = this.find(xml, 'datatype class')[0];
 var name = javaClassElement.getAttribute("name");
 if (pattern.test(name)) {
 return true;
@@ -325,7 +363,7 @@
 var numeric = this.isNumeric(el);
 {
 if (el.mm_minInc_set == null) {
-var minInclusive = $(xml).find('datatype minInclusive')[0];
+var minInclusive = this.find(xml, 'datatype minInclusive')[0];
 el.mm_minInc = this.getValueAttribute(numeric, minInclusive);
 

[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-03 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv20268

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
work around a bug in IE, which is not worked around by jquery. 
(http://dev.jquery.com/ticket/155)


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.21
retrieving revision 1.11.2.22
diff -u -b -r1.11.2.21 -r1.11.2.22
--- validation.js.jsp   1 Apr 2008 15:46:45 -   1.11.2.21
+++ validation.js.jsp   3 Apr 2008 16:14:03 -   1.11.2.22
@@ -10,11 +10,13 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.21 2008/04/01 15:46:45 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.22 2008/04/03 16:14:03 michiel Exp 
$
  */
 var validators = new Array();
 
 
+
+// I don't know how to do timeouts in a OO way.
 function watcher() {
 for (var i = 0; i < validators.length; i++) {
var validator = validators[i];
@@ -119,7 +121,43 @@
 }
 
 MMBaseValidator.prototype.isChanged = function(el) {
+if (el != null) {
 return this.getValue(el) != el.originalValue;
+} else {
+   var els = this.elements;
+   for (var  i = 0; i < els.length; i++) {
+var entry = els[i];
+   if (this.isChanged(entry)) return true;
+   }
+   return false;
+}
+}
+
+/**
+ * Work around http://dev.jquery.com/ticket/155
+ * Actually, or course, it's a bug in that horrible browser IE.
+*/
+MMBaseValidator.prototype.find = function(el, path, r) {
+if (r == null) r = [];
+if (typeof(path) == "string") path = path.split(" ");
+
+var tagName = path.shift();
+
+var tag = el.firstChild;
+while (tag != null) {
+   if (tag.nodeType == 1) {
+   var name = tag.nodeName.replace(/^.*:/,'');
+   if (name == tagName) {
+   if (path.length == 0) {
+   r.push(tag);
+   } else {
+   this.find(tag, path, r);
+   }
+   }
+   }
+   tag = tag.nextSibling;
+}
+return r;
 }
 
 
@@ -128,7 +166,7 @@
  */
 MMBaseValidator.prototype.isRequired = function(el) {
 if (el.mm_isrequired != null) return el.mm_isrequired;
-var re = $(this.getDataTypeXml(el)).find('datatype required')[0];
+var re = this.find(this.getDataTypeXml(el), 'datatype required')[0];
 el.mm_isrequired = "true" == "" + re.getAttribute("value");
 el.mm_isrequired_enforce = re.getAttribute("enforce");
 return el.mm_isrequired;
@@ -142,7 +180,7 @@
 var xml = this.getDataTypeXml(el);
 
 if (el.mm_minLength_set == null) {
-var ml =  $(xml).find('datatype minLength')[0];
+var ml =  this.find(xml, 'datatype minLength')[0];
 if (ml != null) {
 el.mm_minLength = ml.getAttribute("value");
 el.mm_minLength_enforce = ml.getAttribute("enforce");
@@ -154,7 +192,7 @@
 }
 
 if (el.mm_maxLength_set == null) {
-var ml =  $(xml).find('datatype maxLength')[0];
+var ml =  this.find(xml, 'datatype maxLength')[0];
 if (ml != null) {
 el.mm_maxLength = ml.getAttribute("value");
 el.mm_maxLength_enforce = ml.getAttribute("enforce");
@@ -167,7 +205,7 @@
 }
 
 if (el.mm_length_set == null) {
-var l =  $(xml).find('datatype length')[0];
+var l =  this.find(xml, 'datatype length')[0];
 if (l != null) {
 el.mm_length = l.getAttribute("value");
 el.mm_length_enforce = l.getAttribute("enforce");
@@ -210,7 +248,7 @@
 if (this.isString(el)) {
 var xml = this.getDataTypeXml(el);
 if (el.mm_pattern == null) {
-var javaPattern = $(xml).find('datatype  
pattern')[0].getAttribute("value");
+var javaPattern = this.find(xml, 'datatype  
pattern')[0].getAttribute("value");
 el.mm_pattern = this.javaScriptPattern(javaPattern);
 if (el.mm_pattern == null) return true;
 this.trace("pattern : " + el.mm_pattern + " " + el.value);
@@ -224,7 +262,7 @@
 MMBaseValidator.prototype.hasJavaClass = function(el, javaClass) {
 var pattern = new RegExp(javaClass);
 var xml = this.getDataTypeXml(el);
-var javaClassElement = $(xml).find('datatype class')[0];
+var javaClassElement = this.find(xml, 'datatype class')[0];
 var name = javaClassElement.getAttribute("name");
 if (pattern.test(name)) {
 return true;
@@ -325,7 +363,7 @@
 var numeric = this.isNumeric(el);
 {
 if (el.mm_minInc_set == null) {
-var minInclusive = $(xml).find('datatype minInclusive')[0];
+var minInclusive = this.find(xml, 'datatype minInclusive')[0];
 el.

[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-01 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv11982

Modified Files:
validation.js.jsp 
Log Message:
better to setup asynchronislou, because otherwise it will not be before the 
first validation of the fields


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.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- validation.js.jsp   1 Apr 2008 11:28:38 -   1.47
+++ validation.js.jsp   1 Apr 2008 15:47:11 -   1.48
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.47 2008/04/01 11:28:38 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.48 2008/04/01 15:47:11 michiel Exp $
  */
 var validators = new Array();
 
@@ -43,7 +43,6 @@
 //this.changedElements  = 0;
 this.elements= new Array();
 this.validateHook;
-
 this.setup(w);
 this.root = root;
 this.lang  = null;
@@ -470,7 +469,7 @@
 var url = '';
 var params = {nodemanager: nodemanager };
 var self = this;
-$.ajax({url: url, type: "GET", dataType: "xml", data: params,
+$.ajax({async: false, url: url, type: "GET", dataType: "xml", data: params,
complete: function(res, status){
if (status == "success") {
var dataTypes = res.responseXML;
@@ -635,6 +634,8 @@
el.serverValidated = true;
result = res.responseXML;
//console.log("" + res);
+   } else {
+   result = $("");
}
}
   });
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-01 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv11918

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
better to setup asynchronislou, because otherwise it will not be before the 
first validation of the fields


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.20
retrieving revision 1.11.2.21
diff -u -b -r1.11.2.20 -r1.11.2.21
--- validation.js.jsp   1 Apr 2008 11:28:18 -   1.11.2.20
+++ validation.js.jsp   1 Apr 2008 15:46:45 -   1.11.2.21
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.20 2008/04/01 11:28:18 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.21 2008/04/01 15:46:45 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -43,7 +43,6 @@
 //this.changedElements  = 0;
 this.elements= new Array();
 this.validateHook;
-
 this.setup(w);
 this.root = root;
 this.lang  = null;
@@ -470,7 +469,7 @@
 var url = '';
 var params = {nodemanager: nodemanager };
 var self = this;
-$.ajax({url: url, type: "GET", dataType: "xml", data: params,
+$.ajax({async: false, url: url, type: "GET", dataType: "xml", data: params,
complete: function(res, status){
if (status == "success") {
var dataTypes = res.responseXML;
@@ -635,6 +634,8 @@
el.serverValidated = true;
result = res.responseXML;
//console.log("" + res);
+   } else {
+   result = $("");
}
}
   });
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-01 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv4880

Modified Files:
validation.js.jsp 
Log Message:
bugfix


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.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- validation.js.jsp   31 Mar 2008 15:51:51 -  1.46
+++ validation.js.jsp   1 Apr 2008 11:28:38 -   1.47
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.46 2008/03/31 15:51:51 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.47 2008/04/01 11:28:38 michiel Exp $
  */
 var validators = new Array();
 
@@ -407,8 +407,11 @@
}
}
   });
+   this.log("Found " + dataType);
 
 
+} else {
+   this.trace("Found in cache " + dataType);
 }
 return dataType;
 }
@@ -477,7 +480,7 @@
var key = new Key();
key.nodeManager = nodemanager;
key.field = fields[i].getAttribute("name");
-   self.dataTypeCache[key.string()] = 
$(res.responseText)[0];
+   self.dataTypeCache[key.string()] = fields[i];
}
//console.log("" + res);
}
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-04-01 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv4820

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
bugfix


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.19
retrieving revision 1.11.2.20
diff -u -b -r1.11.2.19 -r1.11.2.20
--- validation.js.jsp   31 Mar 2008 15:51:19 -  1.11.2.19
+++ validation.js.jsp   1 Apr 2008 11:28:18 -   1.11.2.20
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.19 2008/03/31 15:51:19 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.20 2008/04/01 11:28:18 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -407,8 +407,11 @@
}
}
   });
+   this.log("Found " + dataType);
 
 
+} else {
+   this.trace("Found in cache " + dataType);
 }
 return dataType;
 }
@@ -477,7 +480,7 @@
var key = new Key();
key.nodeManager = nodemanager;
key.field = fields[i].getAttribute("name");
-   self.dataTypeCache[key.string()] = 
$(res.responseText)[0];
+   self.dataTypeCache[key.string()] = fields[i];
}
//console.log("" + res);
}
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-03-31 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv5259

Modified Files:
validation.js.jsp 
Log Message:
a this pointed to the wrong object


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.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- validation.js.jsp   28 Mar 2008 15:47:54 -  1.45
+++ validation.js.jsp   31 Mar 2008 15:51:51 -  1.46
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.45 2008/03/28 15:47:54 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.46 2008/03/31 15:51:51 michiel Exp $
  */
 var validators = new Array();
 
@@ -477,7 +477,7 @@
var key = new Key();
key.nodeManager = nodemanager;
key.field = fields[i].getAttribute("name");
-   this.dataTypeCache[key.string()] = 
$(res.responseText)[0];
+   self.dataTypeCache[key.string()] = 
$(res.responseText)[0];
}
//console.log("" + res);
}
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-03-31 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv5212

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
a this pointed to the wrong object


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.18
retrieving revision 1.11.2.19
diff -u -b -r1.11.2.18 -r1.11.2.19
--- validation.js.jsp   28 Mar 2008 15:45:48 -  1.11.2.18
+++ validation.js.jsp   31 Mar 2008 15:51:19 -  1.11.2.19
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.18 2008/03/28 15:45:48 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.19 2008/03/31 15:51:19 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -477,7 +477,7 @@
var key = new Key();
key.nodeManager = nodemanager;
key.field = fields[i].getAttribute("name");
-   this.dataTypeCache[key.string()] = 
$(res.responseText)[0];
+   self.dataTypeCache[key.string()] = 
$(res.responseText)[0];
}
//console.log("" + res);
}
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-03-20 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv1070

Modified Files:
validation.js.jsp 
Log Message:
if no elements at all, also call the validateHook


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.43
retrieving revision 1.44
diff -u -b -r1.43 -r1.44
--- validation.js.jsp   20 Mar 2008 14:00:38 -  1.43
+++ validation.js.jsp   20 Mar 2008 14:07:56 -  1.44
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.43 2008/03/20 14:00:38 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.44 2008/03/20 14:07:56 michiel Exp $
  */
 var validators = new Array();
 
@@ -726,9 +726,10 @@
 if (el == null) {
 el = document.documentElement;
 }
-this.log("Will validate elements in " + el + " (" + els.length + " 
elements)");
 
 var els = getElementsByClass(el, "mm_validate");
+this.log("Will validate elements in " + el + " (" + els.length + " 
elements)");
+
 for (var i = 0; i < els.length; i++) {
 var entry = els[i];
 if (entry.type == "textarea") {
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-03-20 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv767

Modified Files:
validation.js.jsp 
Log Message:
if no elements at all, also call the validateHook


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.42
retrieving revision 1.43
diff -u -b -r1.42 -r1.43
--- validation.js.jsp   21 Dec 2007 13:45:04 -  1.42
+++ validation.js.jsp   20 Mar 2008 14:00:38 -  1.43
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.42 2007/12/21 13:45:04 michiel Exp $
+ * @version $Id: validation.js.jsp,v 1.43 2008/03/20 14:00:38 michiel Exp $
  */
 var validators = new Array();
 
@@ -726,7 +726,7 @@
 if (el == null) {
 el = document.documentElement;
 }
-this.log("Will validate " + el);
+this.log("Will validate elements in " + el + " (" + els.length + " 
elements)");
 
 var els = getElementsByClass(el, "mm_validate");
 for (var i = 0; i < els.length; i++) {
@@ -772,6 +772,11 @@
 }
 
 }
+if (els.length == 0) {
+if (this.validateHook) {
+this.validateHook(this.invalidElements == 0);
+}
+}
 el = null;
 }
 
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs


[MMBASE CVS] html/mmbase/validation validation.js.jsp

2008-03-20 Thread Michiel Meeuwissen
Update of /var/cvs/html/mmbase/validation
In directory james.mmbase.org:/tmp/cvs-serv674

Modified Files:
  Tag: MMBase-1_8
validation.js.jsp 
Log Message:
if no elements at all, also call the validateHook


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.16
retrieving revision 1.11.2.17
diff -u -b -r1.11.2.16 -r1.11.2.17
--- validation.js.jsp   21 Dec 2007 13:43:31 -  1.11.2.16
+++ validation.js.jsp   20 Mar 2008 13:59:35 -  1.11.2.17
@@ -10,7 +10,7 @@
  *  then call validator.setup(window[,root]).
  *
  * @author Michiel Meeuwissen
- * @version $Id: validation.js.jsp,v 1.11.2.16 2007/12/21 13:43:31 michiel Exp 
$
+ * @version $Id: validation.js.jsp,v 1.11.2.17 2008/03/20 13:59:35 michiel Exp 
$
  */
 var validators = new Array();
 
@@ -726,9 +726,9 @@
 if (el == null) {
 el = document.documentElement;
 }
-this.log("Will validate " + el);
-
 var els = getElementsByClass(el, "mm_validate");
+this.log("Will validate elements in " + el + " (" + els.length + " 
elements)");
+
 for (var i = 0; i < els.length; i++) {
 var entry = els[i];
 if (entry.type == "textarea") {
@@ -772,6 +772,11 @@
 }
 
 }
+if (els.length == 0) {
+if (this.validateHook) {
+this.validateHook(this.invalidElements == 0);
+}
+}
 el = null;
 }
 
___
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs