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