Author: michiel
Date: 2010-04-12 14:54:30 +0200 (Mon, 12 Apr 2010)
New Revision: 41837

Modified:
   
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/valid.jspx
   
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
Log:
  MMB-1949. If 'saveToForm' is set, the server side validation will also set 
the new value in the node in the transaction.

Modified: 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/valid.jspx
===================================================================
--- 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/valid.jspx
 2010-04-12 12:53:35 UTC (rev 41836)
+++ 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/valid.jspx
 2010-04-12 12:54:30 UTC (rev 41837)
@@ -51,7 +51,18 @@
     <error 
xml:lang="${xmllang}"><jsp:expression>s.get(locale)</jsp:expression></error>
     <jsp:scriptlet>
       }
+      if (errors.size() == 0) {
     </jsp:scriptlet>
+    <mm:import externid="form" />
+    <mm:present referid="form">
+      <saved>
+        <mm:form name="${form}" jspvar="trans" mode="transaction">
+          <jsp:scriptlet>trans.getNode(n).setValue(field.getName(), 
value);</jsp:scriptlet>
+          <jsp:text>${form} 
</jsp:text><jsp:expression>field.getName()</jsp:expression>
+        </mm:form>
+      </saved>
+    </mm:present>
+    <jsp:scriptlet>}</jsp:scriptlet>
   </result>
   </mm:cloud>
 </mm:content>

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-04-12 12:53:35 UTC (rev 41836)
+++ 
mmbase/branches/MMBase-1_9/base-webapp/src/main/webapp/mmbase/validation/validation.js.jsp
  2010-04-12 12:54:30 UTC (rev 41837)
@@ -18,6 +18,7 @@
 
     this.uniqueId     = id == null ? new Date().getTime() : id;
 
+
     this.logEnabled   = false;
     this.traceEnabled = false;
 
@@ -43,6 +44,7 @@
     if (MMBaseValidator.validators.length == 1) {
         setTimeout(MMBaseValidator.watcher, 500);
     }
+    this.saveToForm    = null;
 
 
 }
@@ -1019,9 +1021,15 @@
         var self = this;
         var key = this.getDataTypeKey(el);
         var value = this.getValue(el);
+        var params = this.getDataTypeArguments(key);
 
         var validationUrl = '<mm:url page="/mmbase/validation/valid.jspx" />';
-        var params = this.getDataTypeArguments(key);
+
+       if (this.saveToForm != null) {
+           params.form = this.saveToForm;
+       }
+
+
         if (this.lang != null) params.lang = this.lang;
         if (this.sessionName != null) params.sessionname = this.sessionName;
         params.value = value;
@@ -1113,9 +1121,11 @@
 
 
                 for (var  i = 0; i < errors.length; i++) {
-                    var span = document.createElement("span");
-                    span.innerHTML = $(errors[i]).text();
-                    errorDiv.appendChild(span);
+                   if (errors[i].tagName == "error") {
+                       var span = document.createElement("span");
+                       span.innerHTML = $(errors[i]).text();
+                       errorDiv.appendChild(span);
+                   }
                 }
             }
         }

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

Reply via email to