struts-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Dave Newton (JIRA)" <j...@apache.org>
Subject [jira] Closed: (WW-2485) Annotation validations (@StringFieldValidator, @StringLengthFieldValidator) doesn't work while @RequiredStringValidator doesn't do shortcircuiting
Date Wed, 13 Feb 2008 01:15:40 GMT

     [ https://issues.apache.org/struts/browse/WW-2485?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Dave Newton closed WW-2485.
---------------------------

    Resolution: Not A Problem

Short-circuiting is for validators on a *single* field, AFAIK: this means that when the first
field validation fails no other validators will be run for that field.

See http://struts.apache.org/2.x/docs/validation.html towards the bottom and, for example,
the RequireStringValidator annotation JavaDocs.

It's not clear to me if setting the validator type to Validator.SIMPLE (as opposed to the
default Validator.FIELD) will cause the behavior you want, but I'm pretty sure you're misunderstanding
short-circuiting.

I'm going to close this issue; if you have further questions please ask on the struts-user
list as this isn't really an appropriate discussion forum. If after getting answers on the
struts-user list you still feel there's a bug you may re-open this issue or create a new one.

Thanks!

> 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=true)
> 	@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=true)
> 	@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.


Mime
View raw message