[
https://issues.apache.org/jira/browse/WW-3954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13540865#comment-13540865
]
COMBEAU commented on WW-3954:
-----------------------------
Sorry for my english Lukasz
I can't try it today. I will try it monday because today I am not in the office.
"/*" and "*/" in the buildResponse is invalid ? But why the return of my Ajax
call is only success ?
I have seen in Firebug that the response of my Ajax call return a response that
contains the JSON only when "/*" and "*/" are present in the buildResponse. But
when "/*" and "*/" are not in the buildResponse the return of the Ajax call
contains a response with JSON and a JSON "object"...
I don't understand why when "/*" are not in the buildResponse the return of my
Ajax call is "success" when errors occured when I try to use jsonValidation for
my Form...
> 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