Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

struts 2 - client side basic validation

 
Peter Molina
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hello,

I am playin with struts 2.1.8 + tiles and trying out client side validation and running in a strange issue with required string validation, regardless of whether or not a value is put in the text field, after clicking submit, struts always display the error message from action-validation.xml and the text field value clears out. When value is put in the text field, I would expect submit to take it the execute() of dosubmit class. For actions without validation everything works as expected. I think I am missing something very basic. Code snippets -

struts.xml -

<action name="dosubmit" class="com.group.dosubmit">
<result name="success" type="tiles">successpageDef</result>
<result name="input" type="tiles">inputpageDef</result>
</action>

inputpageDef body -

s:form action="dosubmit" method="post" validate="true" >
<div>
<s:textfield name="first" key="first" label="First" size="15" />
<s:submit value="Submit"/>
</div>
</s:form>

dosubmit-validation.xml -

<validators>
<field name="first">
<field-validator type="requiredstring">
<param name="trim">true</param>
<message>First is required</message>
</field-validator>
</field>
</validators>

Any help/pointers is appreciated.

thanks,
Peter
 
David Newton
Author
Rancher
Posts: 12617
IntelliJ IDE Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Please UseCodeTags when posting code or configuration. Unformatted code and configuration is unnecessarily difficult to read.

You can edit your post by using the button.

By the way, if you use the "key" attribute, there's little reason to use the "name" and "label" attributes; the "key" attribute is meant to eliminate the need for them.

I don't see anything obviously wrong; did you check to make sure the correct JavaScript is rendering? I'd also remove the <div> tags around the for elements; I'm not sure if that's legal HTML (wrapping div tags around table rows, I mean)--not sure, and can't check at the moment.

Welcome to JavaRanch!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic