[
https://issues.apache.org/struts/browse/WW-2485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43210#action_43210
]
zahidnazir edited comment on WW-2485 at 2/13/08 6:52 PM:
----------------------------------------------------------
First short-circuiting is not enabled on any of the validators.
As I mentioned using
@RequiredStringValidator(message = "Default Message", key =
"errors.required.first", shortCircuit = false, trim = true)
public void setFirst(String first) {
this.first = first;
}
perfectly invoke validation but by replacing @RequiredStringValidator with
@StringLengthFieldValidator validation doesn't kick-in
@StringLengthFieldValidator(message = "Default message", key =
"errors.required.first", shortCircuit = false, trim = true, minLength = "1",
maxLength = "35")
public void setFirst(String first) {
this.first = first;
}
is there any order for field validators, and I am not talking about plain
validators taking precedence over field validators, or are they just get
invoked by the specified sequence ?
I also tried {action}-validation.xml format but the behavior is same.
Thanks for your valuable time and suggestions.
was (Author: zahidnazir):
First short-circuiting is not enabled on any of the validators.
As I mentioned using
@RequiredStringValidator(message = "Default Message", key =
"errors.required.first", shortCircuit = false, trim = true)
public void setFirst(String first) {
this.first = first;
}
perfectly invoke validation but by replacing @RequiredStringValidator with
@StringLengthFieldValidator validation doesn't kick-in
@StringLengthFieldValidator(message = "Default message", key =
"errors.required.first", shortCircuit = false, trim = true, minLength = "1",
maxLength = "35")
public void setFirst(String first) {
this.first = first;
}
is there any order of validators or they just get invoked by the specified
sequence ?
I also switched to {action}-validation.xml format but the behavior is same.
Thanks for your valuable time and suggestions.
> 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.