[
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.