You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Dave Newton (JIRA)" <ji...@apache.org> on 2008/02/12 22:29:40 UTC
[jira] Commented: (WW-2485) Annotation validations
(@StringFieldValidator, @StringLengthFieldValidator) doesn't work while
@RequiredStringValidator doesn't do shortcircuiting
[ https://issues.apache.org/struts/browse/WW-2485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43196#action_43196 ]
Dave Newton commented on WW-2485:
---------------------------------
I'm a bit confused; in the above code there's only one validator per field, so how would you know if short-circuiting was working or not?
> Annotation validations (@StringFieldValidator, @StringLengthFieldValidator) doesn't work while @RequiredStringValidator doesn't do shortcircuiting
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: WW-2485
> URL: https://issues.apache.org/struts/browse/WW-2485
> Project: Struts 2
> Issue Type: Bug
> Components: XML Validators
> Affects Versions: 2.0.11
> Environment: Windows XP SP2, Struts 2.0.11, Jetty 6.0.1
> Reporter: Zahid Nazir
>
> Hi,
> Validation (client or server side) doesn't occur and no message is thrown back when annotating setters (I checked getter too but to no affect),see below
> // @StringLengthFieldValidator(message="Default message", key="errors.required.first", shortCircuit=true, trim=true, minLength="1", maxLength="35")
> // @RequiredFieldValidator(message = "You must enter a string value for first...", key="errors.required.last", shortCircuit=false)
> @RequiredStringValidator(message = "First", key="errors.required.first", shortCircuit=true, trim=true)
> public void setFirst(String first) {
> this.first = first;
> }
> Validation does get invoked for @RequiredStringValidator but then shortCircuit doesn't seem to work.
> Here is the class declaration
> @Validation()
> public class ProfileSearch extends ActionSupport {
> // getter
> // @StringLengthFieldValidator(message="Default message", key="errors.required.last", shortCircuit=true, trim=true, minLength="1", maxLength="35")
> // @RequiredFieldValidator(message = "You must enter a string value for last...", key="errors.required.last", shortCircuit=true)
> @RequiredStringValidator(message = "Last", key="errors.required.last", shortCircuit=true, trim=true)
> public String getLast() {
> return last;
> }
> // Setter
> // @StringLengthFieldValidator(message="Default message", key="errors.required.last", shortCircuit=true, trim=true, minLength="1", maxLength="35")
> // @RequiredFieldValidator(message = "You must enter a string value for last...", key="errors.required.last", shortCircuit=false)
> @RequiredStringValidator(message = "Last", key="errors.required.last", shortCircuit=true, trim=true)
> public void setLast(String last) {
> this.last = last;
> }
> and jsp snippet
> <s:form action="addressSearch!search" method="post" validate="false">
> <s:textfield name="first" value="%{first}" label="%{getText('label.first')}" labelposition="left" tabindex="1" maxlength="35" required="true" />
> <s:textfield name="last" value="%{last}" label="%{getText('label.last')}" labelposition="left" tabindex="2" maxlength="35" required="true"/>
> I also used ModelDriven validation using annotations and behavior is same. Adding namespace attribute to form element and in struts.xml also doesn't help, neither do changing attribute validate="true". I am not declaring any interceptors in struts.xml and am extending my package from struts-default.
> Thanks for your help.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.