[ 
https://issues.apache.org/jira/browse/WW-3954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13540853#comment-13540853
 ] 

COMBEAU commented on WW-3954:
-----------------------------

Sorry I have made a mistake in my environnement description. I am using Jquery 
1.3.1.

I have read the WW-3545 but I haven't find it the solution for me.

The only solution in my case is to had the "/*" and "*/" in the buildResponse. 
If that are not in the buildResponse when errors occured in jsonValidation 
process, my Ajax call return only success moreless It should return "error"...

This issue appeared for me since strust 2 remove the "/*" and "*/" in the 
buildResponse... 

May be is it possible that was a Jquery problem ?
                
> 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
>             Fix For: 2.3.x
>
>
> 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

Reply via email to