Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
2.3.1, 2.3.1.1, 2.3.1.2, 2.3.3, 2.3.4, 2.3.4.1
-
None
-
Struts 2.3.4.1, Jquery 1.3.1, Struts json plugin 2.3.4.1
-
Patch, Important
Description
Hello,
I have find an issue on Struts 2.3.4.1. I have made a migration from Struts 2.1.8 to Struts 2.3.4.1 and I have seen that the Ajax Validation doesn't work anymore.
Moreover, when I would like to make the validation of my form in Ajax I seen that response was already "success" even if one or more fields are in errors. I think it's not normal. In Struts 2.1.8 when fields are in errors the response of an Ajax call is "error" not "success"
To correct this issue I have made a workaround. In the JSONValidationInterceptor, if the buildResponse method have "/" in the first append and "/" in the last it correct the problem...
why this :
protected String buildResponse(ValidationAware validationAware) { //should we use FreeMarker here? StringBuilder sb = new StringBuilder(); sb.append("/* { "); ... sb.append("} */"); /*response should be something like: * { * "errors": ["this", "that"], * "fieldErrors": { * field1: "this", * field2: "that" * } * } */ return sb.toString(); }
as been replaced by this :
protected String buildResponse(ValidationAware validationAware) { //should we use FreeMarker here? StringBuilder sb = new StringBuilder(); sb.append("{ "); *** sb.append("}"); /*response should be something like: * { * "errors": ["this", "that"], * "fieldErrors": { * field1: "this", * field2: "that" * } * } */ return sb.toString(); }
Is this a real issue ?