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

Lukasz Lenart commented on WW-3954:
-----------------------------------

Yes, wrapping JSON in comment is invalid, as you can read in WW-3545, JQuery 
1.3 uses JavaScript eval to evaluate JSON, as from  version 1.4, JQuery uses 
native JSON support. Please try to upgrade to newest version of JQuery or at 
least to 1.4 version.
                
> 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