struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Arnaud Cogoluegnes" <acogolueg...@sqli.com>
Subject RE: S2 : Validation per Action method - ideas?
Date Fri, 10 Aug 2007 10:36:25 GMT
Pretty strange indeed. Did you remove all the validation annotations on the
field setters?

-----Message d'origine-----
De : beto [mailto:bjorn.tore.wiken@gmail.com] 
Envoyé : vendredi 10 août 2007 11:56
À : user@struts.apache.org
Objet : RE: S2 : Validation per Action method - ideas?


Hi again, and thank you for your answer.

I've tried using @Validations at the method level as you point out. I'll try
to illustrate:

I have an action, not annotated with @Validation, with three action methods;
input, execute and confirm (custom action method).

The input method has no annotations and is not validated as expected.

The execute method is annotated with @Validations:

@Validations(requiredStrings={	@RequiredStringValidator(fieldName="amount",
message="Amount is required", key="amount.required") }, regexFields={
@RegexFieldValidator(fieldName="amount", expression="^\\d+$",
message="Amount has to be numeric", key="amount.numeric") })
public String execute() throws Exception {
  ...
}

The confirm method is also annotated with @Validations:

@Validations(expressions={ @ExpressionValidator(expression="confirm ==
true", message="test") })
public String confirm() throws Exception {
  ...
}

And here comes the confusing part. When I call my action with no method name
indicator (say MyAction, not MyAction_confirm), both fields (amount and
confirm) is validated. I just want to validate "amount" when execute is
called and only the field "confirm" when the confirm method is called.

What am I doing wrong?

beto


Arno wrote:
> 
> This is the Validations (with a 's' at the end :-) ) that can be put on a
> method. The syntax is pretty confusing but the functionality quite neat.
> 
>
http://struts.apache.org/2.x/struts2-core/apidocs/com/opensymphony/xwork2/va
> lidator/annotations/Validations.html
> 
> -----Message d'origine-----
> De : beto [mailto:bjorn.tore.wiken@gmail.com] 
> Envoyé : vendredi 10 août 2007 10:57
> À : user@struts.apache.org
> Objet : RE: S2 : Validation per Action method - ideas?
> 
> 
> Hi.
> 
> I've tried using validation annotation (which works great) and ran into
> the
> scenario mentioned by Joseph. I have different action methods which
> requires
> different set of validation rules. I can not find out how to set up
> validation annotation to differentiate the validation rules based on which
> action method that is called. I do not wish to use validation xml-files if
> I
> can avoid it, and will probably end up creating separate action classes in
> these scenarios if not anybody can point out a solution to this problem.
> 
> Am I missing something?
> 
> Do you have the solution Arno? :-) 
> 
> 
> Arno wrote:
>> 
>> You should check the Javadoc of the
>> com.opensymphony.xwork2.validator.annotations.Validation annotation.
>> 
>> Syntax example:
>> 
>> @Validations(
>>              requiredFields =
>>                      {@RequiredFieldValidator(type =
>> ValidatorType.SIMPLE,
>> fieldName = "customfield", message = "You must enter a value for
>> field.")},
>>              requiredStrings =
>>                      {@RequiredStringValidator(type =
>> ValidatorType.SIMPLE,
>> fieldName = "stringisrequired", message = "You must enter a value for
>> string.")}
>>      
>>      )
>>      public String execute() throws Exception {
>>          return SUCCESS;
>>      }
>> 
>> -----Message d'origine-----
>> De : j alex [mailto:strutstwouser@gmail.com] 
>> Envoyé : jeudi 9 août 2007 15:38
>> À : Struts Users Mailing List
>> Objet : S2 : Validation per Action method - ideas?
>> 
>> Hi,
>> 
>> Is there a way to declaratively restrict validations depending on the
>> method
>> within the Action? - this could be useful for wizard-like forms where
>> each
>> step of the wizard has a set of fields ; corresponds to a different
>> method
>> but all of them share the same Action.
>> 
>> I can think of having an expression validator based on currentstep added
>> to
>> every field short-circuited ; but that's more of a workaround rather than
>> the right way to do it.
>> 
>> Thanks,
>> Joseph
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
>> For additional commands, e-mail: user-help@struts.apache.org
>> 
>> 
>> 
> 
> -- 
> View this message in context:
>
http://www.nabble.com/S2-%3A-Validation-per-Action-method---ideas--tf4242670
> .html#a12087696
> Sent from the Struts - User mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
> 
> 
> 

-- 
View this message in context:
http://www.nabble.com/S2-%3A-Validation-per-Action-method---ideas--tf4242670
.html#a12088476
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message