Author: michiel
Date: 2010-06-28 11:59:04 +0200 (Mon, 28 Jun 2010)
New Revision: 42721

Modified:
   
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
Log:
made mmValidate events recogonizable as from the server

Modified: 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
===================================================================
--- 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
  2010-06-28 09:19:41 UTC (rev 42720)
+++ 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
  2010-06-28 09:59:04 UTC (rev 42721)
@@ -4,7 +4,7 @@
 /**
  * See test.jspx for example usage.
 
- * new MMBaseValidator(el): attaches events to all elements in elwhen ready.
+ * new MMBaseValidator(el): attaches events to all elements in el when ready.
  * new MMBaseValidator():       attaches no events yet. You could replace some 
functions, add hooks, set settings first or so.
  *                              then call validator.setup(el).
  *
@@ -1041,17 +1041,17 @@
         var result;
         $.ajax({async: true, url: validationUrl, type: "GET", dataType: "xml", 
data: params,
                    complete: function(res, status){
-                    var result;
-                    if (status == "success") {
-                        el.serverValidated = true;
-                        result = res.responseXML;
+                       var result;
+                       if (status == "success") {
+                            el.serverValidated = true;
+                            result = res.responseXML;
                         //console.log("" + res);
-                    } else {
-                        el.serverValidated = true;
-                        result = $("<result valid='true' />")[0];
+                       } else {
+                            el.serverValidated = true;
+                            result = $("<result valid='true' />")[0];
+                       }
+                       self.showServerErrors(el, result);
                     }
-                    self.showServerErrors(el, result);
-                }
             });
     } catch (ex) {
         this.log(ex);
@@ -1129,20 +1129,21 @@
                    if (errors[i].tagName == "error") {
                        var span = document.createElement("span");
                        span.innerHTML = $(errors[i]).text();
+                       $(span).addClass($(errors[i]).attr("class"));
                        errorDiv.appendChild(span);
                    }
                 }
             }
         } else {
-            console.log("No error div " + "mm_check_" + id.substring(3));
+            this.log("No error div " + "mm_check_" + id.substring(3));
         }
     } else {
-      console.log("No element " + id);
+       this.log("No element " + id);
     }
-    this.updateValidity(element, valid);
+    this.updateValidity(element, valid, true);
 };
 
-MMBaseValidator.prototype.updateValidity = function(element, valid) {
+MMBaseValidator.prototype.updateValidity = function(element, valid, server) {
     if (valid != element.prevValid) {
         if (valid) {
             this.invalidElements--;
@@ -1155,7 +1156,7 @@
     if (this.validateHook) {
         this.validateHook(valid, element);
     }
-    $(element).trigger("mmValidate", [this, valid]);
+    $(element).trigger("mmValidate", [this, valid, server]);
     return valid;
 };
 
@@ -1179,7 +1180,7 @@
         return null; // don't know yet.
     } else {
         valid = this.valid(element);
-        this.updateValidity(element, valid);
+        this.updateValidity(element, valid, false);
         return valid;
     }
 

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

Reply via email to