[ 
https://issues.apache.org/struts/browse/WW-2306?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43932#action_43932
 ] 

Musachy Barroso commented on WW-2306:
-------------------------------------

Ted, I am not able to reproduce this, I modified 
org.apache.struts2.showcase.validation.FieldValidatorsExampleAction (first I 
removed xml validation), and added this to the class:

@Validation
@Validations(
        requiredStrings = [EMAIL PROTECTED](fieldName = 
"requiredValidatorField", message = "missing field")},
        stringLengthFields = { @StringLengthFieldValidator(fieldName = 
"requiredValidatorField", message = "invalid size", trim = true, minLength = 
"4", maxLength = "12") })

I got the "missing field" error when I submitted the for with the field empty, 
and "invalid size" when the size was wrong. I tried moving the annotations to 
the method:   

 @RequiredStringValidator(message = "missing field")
 @StringLengthFieldValidator(fieldName = "requiredValidatorField", message = 
"invalid size", trim = true, minLength = "4", maxLength = "12")

with the same results. Can you still reproduce this?

> @StringLengthFieldValidator annotation fires a different times according to 
> placement
> -------------------------------------------------------------------------------------
>
>                 Key: WW-2306
>                 URL: https://issues.apache.org/struts/browse/WW-2306
>             Project: Struts 2
>          Issue Type: Bug
>            Reporter: Ted Husted
>             Fix For: 2.1.4
>
>
> Express a @StringLengthFieldValidator  using the idiom 
> @Validations (
>         stringLengthFields  = { 
>                 @StringLengthFieldValidator(fieldName="password1", 
> key="error.password.length", message="", trim = true, minLength = "4",  
> maxLength = "12")
>       })
> on an alias method, and it fires before any validations (such as 
> @RequiredString), short -circuiting them, even when short-circuit is not set. 
>  It also fires when input is empty (rather than at >0). 
> The same thing happens when the annotation is applied to the get method. 
>       @StringLengthFieldValidator(fieldName="password1", 
> key="error.password.length", message="", trim = true, minLength = "4",  
> maxLength = "12")    
>     @ExpressionValidator(key="error.password.match", message="", 
> expression="password1 eq password2" )    
>     public String execute() throws Exception {        
> Ideally, @StringLengthFieldValidator should fire at the same time  
> @EmailValidator and the like fire. 
> -Ted.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to