Author: michiel Date: 2010-03-02 17:44:00 +0100 (Tue, 02 Mar 2010) New Revision: 41240
Modified: mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/list/save.jspx Log: if javascript validation for some reason did not succeed, than the 'save.jspx' may give exception (e.g. because validation of the mimetype of a blob only worked with that actual blob), then behave like normal validation Modified: mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp =================================================================== --- mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp 2010-03-02 16:42:50 UTC (rev 41239) +++ mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/List.js.jsp 2010-03-02 16:44:00 UTC (rev 41240) @@ -138,7 +138,7 @@ self.triggerValidateHook(); self.commit(); if (self.uploader != null) { - if (valid) { + if (element.type == 'file' && valid) { // start uploading the new file self.uploader.upload(element.id); } @@ -733,14 +733,28 @@ async: leavePage == null ? true : !leavePage, url: "${mm:link('/mmbase/searchrelate/list/save.jspx')}", data: params, - complete: function(req, textStatus) { - self.status('<fmt:message key="saved" />', self.uploadingSize == 0); - $(self.div).trigger("mmsrFinishedSave", [self]); - if (textStatus != "success") { - result = textStatus; - } - self.saving = false; - } + complete: function(res, textStatus) { + self.status('<fmt:message key="saved" />', self.uploadingSize == 0); + $(self.div).trigger("mmsrFinishedSave", [self]); + if (textStatus != "success") { + result = textStatus; + } + var r = $(res.responseText); + r.find(".mm_check_error").each(function() { + var errorId = $(this).attr("id"); + var errorDiv = $("#" + errorId); + if (errorDiv.length > 0) { + errorDiv.empty(); + errorDiv.append($(this).find("*")); + } + if (self.validator != null) { + var elementId = "mm_" + errorId.substring(9); + var element = $("#" + elementId)[0]; + self.validator.updateValidity(element, false); + } + }); + self.saving = false; + } }); this.lastCommit = now; } else { Modified: mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/list/save.jspx =================================================================== --- mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/list/save.jspx 2010-03-02 16:42:50 UTC (rev 41239) +++ mmbase/trunk/applications/searchrelate/src/main/webapp/mmbase/searchrelate/list/save.jspx 2010-03-02 16:44:00 UTC (rev 41240) @@ -15,7 +15,7 @@ --> <div class="saveresult" id="${parameters.rid}"> <mm:relatednodescontainer clone="parameters.query"> - <mm:relatednodes usetransaction="true"> + <mm:relatednodes usetransaction="true" commitonclose="false"> <mm:import id="formtagid"> <c:choose> <c:when test="${empty parameters.formtag}">node${_node}</c:when> @@ -23,10 +23,12 @@ </c:choose> </mm:import> <span>${formtagid}</span> - <mm:form name="${formtagid}" > + <mm:form name="${formtagid}" commitonclose="false"> <mm:import id="fieldlistid">${parameters.fieldlistidprefix}_<mm:escape escape="identifier">${_node}</mm:escape></mm:import> <mm:include page="${parameters.item}" - referids="rid,fieldlistid" /> + referids="rid,fieldlistid"> + <mm:param name="reload">true</mm:param> + </mm:include> <c:if test="${parameters.autosubmit}"> <mm:valid> _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs