You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Alireza Fattahi <af...@yahoo.com> on 2013/09/17 11:03:25 UTC
How configure struts2 to get validation rules from Spring via @value
We are using spring 3 and struts 2. We use spring @value annotation to get values from property files.
We want to get validation rules from property files instead of hard-coding them in action.
Here is sample property system.properties transfer.account.min.amount=10
Here is the action:
publicclassTransferToAccountimplementsPreparable{@Value("${transfer.account.min.amount}")publicStringminAmount;//...........execute and other methods omitted@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")publicvoidsetAmount(Integeramount){this.amount =amount;}
The minAmount is populated correctly by value 10, but the validation is not working.
________________________________
To see if parameters are passed correctly, I make a test as below.
Assume we want to get a key from spring managed property file ( This is just a test ;) )
system.properties
transfer.account.min.amount.key=validate.int.min
The resource bundel is: validate.int.min = This field must be more than ${min}
...and make this change
@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="${transfer.account.min.amount.key}")
Now when an error happens the validation message shows validate.int.min, instead of fetching this value from resource bundle!
Of course, when you run below code:
@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")
The error message is fetched resource bundle correctly!
________________________________
If I can use annotation in this way, please let me know what is my mistake!
If I can not use annotations like this, please let me know what is
the best way to avoid hard coding the validaiton rolls in actions.
~Regards,
~~Alireza Fattahi
Re: How configure struts2 to get validation rules from Spring via @value
Posted by Alireza Fattahi <af...@yahoo.com>.
Let me ask this way.
In below validation
@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="10"
is there any way we can read '10' from external resource files !
~Regards,
~~Alireza Fattahi
________________________________
From: Lukasz Lenart <lu...@apache.org>
To: Struts Users Mailing List <us...@struts.apache.org>
Sent: Tuesday, 17 September 2013, 12:48
Subject: Re: How configure struts2 to get validation rules from Spring via @value
Code formatting? Maybe use some web service to present your code.
Does system.properties is defined as a Struts 2 properties file?
2013/9/17 Alireza Fattahi <af...@yahoo.com>:
> We are using spring 3 and struts 2. We use spring @value annotation to get values from property files.
> We want to get validation rules from property files instead of hard-coding them in action.
> Here is sample property system.properties transfer.account.min.amount=10
> Here is the action:
> publicclassTransferToAccountimplementsPreparable{@Value("${transfer.account.min.amount}")publicStringminAmount;//...........execute and other methods omitted@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")publicvoidsetAmount(Integeramount){this.amount =amount;}
> The minAmount is populated correctly by value 10, but the validation is not working.
> ________________________________
>
> To see if parameters are passed correctly, I make a test as below.
> Assume we want to get a key from spring managed property file ( This is just a test ;) )
> system.properties
> transfer.account.min.amount.key=validate.int.min
> The resource bundel is: validate.int.min = This field must be more than ${min}
> ...and make this change
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="${transfer.account.min.amount.key}")
> Now when an error happens the validation message shows validate.int.min, instead of fetching this value from resource bundle!
> Of course, when you run below code:
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")
> The error message is fetched resource bundle correctly!
> ________________________________
>
> If I can use annotation in this way, please let me know what is my mistake!
> If I can not use annotations like this, please let me know what is
> the best way to avoid hard coding the validaiton rolls in actions.
>
>
> ~Regards,
> ~~Alireza Fattahi
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: How configure struts2 to get validation rules from Spring via @value
Posted by Lukasz Lenart <lu...@apache.org>.
2013/9/20 Alireza Fattahi <af...@yahoo.com>:
> Let me ask this way.
> In below validation
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="10"
>
> is there any way we can read '10' from external resource files !
Directly not, but there is built-in support for expression, so you can
use minExpression="${minFieldValue}" which will be evaluated against
your action. Or you can use xml based validation and then '10' will be
in a file ;-)
Regards
--
Łukasz
+ 48 606 323 122 http://www.lenart.org.pl/
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: How configure struts2 to get validation rules from Spring via @value
Posted by Alireza Fattahi <af...@yahoo.com>.
Let me ask this way.
In below validation
@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="10"
is there any way we can read '10' from external resource files !
~Regards,
~~Alireza Fattahi
________________________________
From: Lukasz Lenart <lu...@apache.org>
To: Struts Users Mailing List <us...@struts.apache.org>
Sent: Tuesday, 17 September 2013, 12:48
Subject: Re: How configure struts2 to get validation rules from Spring via @value
Code formatting? Maybe use some web service to present your code.
Does system.properties is defined as a Struts 2 properties file?
2013/9/17 Alireza Fattahi <af...@yahoo.com>:
> We are using spring 3 and struts 2. We use spring @value annotation to get values from property files.
> We want to get validation rules from property files instead of hard-coding them in action.
> Here is sample property system.properties transfer.account.min.amount=10
> Here is the action:
> publicclassTransferToAccountimplementsPreparable{@Value("${transfer.account.min.amount}")publicStringminAmount;//...........execute and other methods omitted@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")publicvoidsetAmount(Integeramount){this.amount =amount;}
> The minAmount is populated correctly by value 10, but the validation is not working.
> ________________________________
>
> To see if parameters are passed correctly, I make a test as below.
> Assume we want to get a key from spring managed property file ( This is just a test ;) )
> system.properties
> transfer.account.min.amount.key=validate.int.min
> The resource bundel is: validate.int.min = This field must be more than ${min}
> ...and make this change
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="${transfer.account.min.amount.key}")
> Now when an error happens the validation message shows validate.int.min, instead of fetching this value from resource bundle!
> Of course, when you run below code:
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")
> The error message is fetched resource bundle correctly!
> ________________________________
>
> If I can use annotation in this way, please let me know what is my mistake!
> If I can not use annotations like this, please let me know what is
> the best way to avoid hard coding the validaiton rolls in actions.
>
>
> ~Regards,
> ~~Alireza Fattahi
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org
Re: How configure struts2 to get validation rules from Spring via @value
Posted by Lukasz Lenart <lu...@apache.org>.
Code formatting? Maybe use some web service to present your code.
Does system.properties is defined as a Struts 2 properties file?
2013/9/17 Alireza Fattahi <af...@yahoo.com>:
> We are using spring 3 and struts 2. We use spring @value annotation to get values from property files.
> We want to get validation rules from property files instead of hard-coding them in action.
> Here is sample property system.properties transfer.account.min.amount=10
> Here is the action:
> publicclassTransferToAccountimplementsPreparable{@Value("${transfer.account.min.amount}")publicStringminAmount;//...........execute and other methods omitted@IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")publicvoidsetAmount(Integeramount){this.amount =amount;}
> The minAmount is populated correctly by value 10, but the validation is not working.
> ________________________________
>
> To see if parameters are passed correctly, I make a test as below.
> Assume we want to get a key from spring managed property file ( This is just a test ;) )
> system.properties
> transfer.account.min.amount.key=validate.int.min
> The resource bundel is: validate.int.min = This field must be more than ${min}
> ...and make this change
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="${transfer.account.min.amount.key}")
> Now when an error happens the validation message shows validate.int.min, instead of fetching this value from resource bundle!
> Of course, when you run below code:
> @IntRangeFieldValidator(type =ValidatorType.FIELD,min ="${minAmount}",key ="validate.int.min")
> The error message is fetched resource bundle correctly!
> ________________________________
>
> If I can use annotation in this way, please let me know what is my mistake!
> If I can not use annotations like this, please let me know what is
> the best way to avoid hard coding the validaiton rolls in actions.
>
>
> ~Regards,
> ~~Alireza Fattahi
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org