Return-Path: X-Original-To: apmail-struts-issues-archive@minotaur.apache.org Delivered-To: apmail-struts-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 668D7DEF3 for ; Sun, 30 Dec 2012 20:10:13 +0000 (UTC) Received: (qmail 38517 invoked by uid 500); 30 Dec 2012 20:10:13 -0000 Delivered-To: apmail-struts-issues-archive@struts.apache.org Received: (qmail 38493 invoked by uid 500); 30 Dec 2012 20:10:13 -0000 Mailing-List: contact issues-help@struts.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@struts.apache.org Delivered-To: mailing list issues@struts.apache.org Received: (qmail 38486 invoked by uid 99); 30 Dec 2012 20:10:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 30 Dec 2012 20:10:13 +0000 Date: Sun, 30 Dec 2012 20:10:13 +0000 (UTC) From: "COMBEAU (JIRA)" To: issues@struts.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Comment Edited] (WW-3954) Ajax Validation is broken (json) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/WW-3954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13541147#comment-13541147 ] COMBEAU edited comment on WW-3954 at 12/30/12 8:08 PM: ------------------------------------------------------- Yes, I use the same AJAX call to validate form and to return some data when validation passed like the application I have sended to you. I can use reponse.errors or response.fieldErrors directly ? when errors "response.errors" occured ? how can I have it ? what is showErrors and processResponse ? Ps: How do you have run my application ? Because I have created it as Maven project but I have used mvn eclipse:eclipse -Dwtpversion to make it compatible as webapp and now it isn't recognized as Maven project... Could you give me a process to create Maven webapp easily please ? was (Author: walkn): Yes, I use the same AJAX call to validate form and to return some data when validation passed like the application I have sended to you. I can use reponse.errors or response.fieldErrors directly ? what is showErrors and processResponse ? Ps: How do you have run my application ? Because I have created it as Maven project but I have used mvn eclipse:eclipse -Dwtpversion to make it compatible as webapp and now it isn't recognized as Maven project... > 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