[
https://issues.apache.org/jira/browse/WW-3954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13541133#comment-13541133
]
COMBEAU edited comment on WW-3954 at 12/30/12 6:52 PM:
-------------------------------------------------------
Here is my application to test.
To see the initial issue, please change the version of struts 2 core et Struts
2 json to "2.1.8" and change in the index.jsp the jquery to load to 1.3.1.
When you click on the button without fill the form you sould see "error".
When you change the version of struts 2 to 2.3.4.1 and the jquery to 1.8.3 you
will see "success" evenif there are some errors in the form
was (Author: walkn):
Here is my application to test
> Ajax Validation is broken (json)
> --------------------------------
>
> Key: WW-3954
> URL: https://issues.apache.org/jira/browse/WW-3954
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - JSON
> Affects Versions: 2.3.1, 2.3.1.1, 2.3.1.2, 2.3.3, 2.3.4, 2.3.4.1
> Environment: Struts 2.3.4.1, Jquery 1.3.1, Struts json plugin 2.3.4.1
> Reporter: COMBEAU
> Assignee: Lukasz Lenart
> Priority: Minor
> Fix For: 2.3.9
>
> Attachments: testAjaxValidation.zip
>
>
> 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 :
> {code:java}
> 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();
> }
> {code}
> as been replaced by this :
> {code:java}
> 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();
> }
> {code}
> Is this a real issue ?
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira