Author: michiel
Date: 2010-01-20 16:58:11 +0100 (Wed, 20 Jan 2010)
New Revision: 40639

Modified:
   mmbase/trunk/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
Log:
bug in hasJavaClasses cache

Modified: 
mmbase/trunk/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
===================================================================
--- 
mmbase/trunk/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp    
    2010-01-20 15:38:40 UTC (rev 40638)
+++ 
mmbase/trunk/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp    
    2010-01-20 15:58:11 UTC (rev 40639)
@@ -392,7 +392,13 @@
     if (this.isString(el)) {
         var xml = this.getDataTypeXml(el);
         if (el.mm_pattern == null) {
-            var javaPattern = this.find(xml, 'datatype 
pattern')[0].getAttribute("value");
+            var javaPatternXml = this.find(xml, 'datatype pattern')[0];
+            if (javaPatternXml == null) {
+                alert("No pattern found for " + $(el).attr("id"));
+                return true;
+            }
+
+            var javaPattern = javaPatternXml.getAttribute("value");
             el.mm_pattern = this.javaScriptPattern(javaPattern);
             if (el.mm_pattern == null) return true;
             this.trace("pattern : " + el.mm_pattern + " " + el.value);
@@ -404,7 +410,7 @@
 }
 
 MMBaseValidator.prototype.hasJavaClass = function(el, javaClass) {
-    var key = this.getDataTypeKey(el) + ":" + javaClass;
+    var key = this.getDataTypeKey(el).string() + ":" + javaClass;
     if (MMBaseValidator.hasJavaClassesCache[key] == null) {
         var pattern = new RegExp(javaClass);
         var xml = this.getDataTypeXml(el);
@@ -454,7 +460,9 @@
     return el.mm_isfloat;
 }
 MMBaseValidator.prototype.isString = function(el) {
-    if (el.mm_isstring != null) return el.mm_isstring;
+    if (el.mm_isstring != null) {
+        return el.mm_isstring;
+    }
     el.mm_isstring =  this.hasJavaClass(el, 
"org\.mmbase\.datatypes\.StringDataType");
     return el.mm_isstring;
 }
@@ -1212,8 +1220,6 @@
             break;
         case "file":
             $(entry).bind("change", function(ev) {
-                    console.log("changed");
-                    console.log(entry);
                     self.setLastChange(ev); self.validate(ev);
                 });
             break;

_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to