You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Musachy Barroso (JIRA)" <ji...@apache.org> on 2008/06/21 15:24:05 UTC
[jira] Closed: (WW-2659) AJAX validation does not work when xhtml
forms contain hidden form fields
[ https://issues.apache.org/struts/browse/WW-2659?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Musachy Barroso closed WW-2659.
-------------------------------
Resolution: Duplicate
I tried to replicate this issue and it is working as expected. This was fixed when the code was changed to search for the first node, instead of just getting the first child of the form.
> AJAX validation does not work when xhtml forms contain hidden form fields
> -------------------------------------------------------------------------
>
> Key: WW-2659
> URL: https://issues.apache.org/struts/browse/WW-2659
> Project: Struts 2
> Issue Type: Bug
> Components: Plugin - Dojo Tags
> Affects Versions: 2.1.2
> Environment: struts2-core-2.1.2 struts2-dojo-plugin-2.1.2.jar xwork-2.1.1 Firefox-2.0.0.14 Ubuntu-Gutsy
> Reporter: Owen Berry
> Fix For: 2.1.3
>
>
> Problem: validation errors returned from the server can not be inserted into the page content.
> StrutsUtils.showValidationErrors in utils.js tries to detect the theme that is being used for the form by checking to see if the first child node of the form is a table node (line 53). If you have a hidden form field, the first child node is actually the hidden field, so the code thinks you are using the css_xhtml theme and fails to report validation errors within the page correctly - instead it pops up a Javascript alert indicating: "Could not validate: form_user_firstName".
> JSP Code:
> <s:form method="post" namespace="/nodecorate" action="mysettings_update" theme="xhtml" id="form">
> <s:textfield key="user.firstName" />
> <s:textfield key="user.lastName" />
> <s:textfield key="user.emailAddress" />
> <s:hidden name="user.version" />
> <sx:submit validate="true" ajaxAfterValidation="true" targets="response" showLoadingText="false" />
> </s:form>
> A workaround is to make the hidden field part of the table:
> <tr style="display:none"><td colspan="2"><s:hidden name="user.version" /></td></tr>
> In addition to the above, it would also be good if addErrorCSS() in css_xhtml/validation.js could actually report the error if it cannot figure out the layout of the page. See line 83-45.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.