What about switching validateAnnotatedMethodOnly? This is going to be
default in 2.5 probably
https://struts.apache.org/docs/validations-annotation.html
(mobile)
17 gru 2015 23:29 "JOSE L MARTINEZ-AVIAL" <jlmagc@gmail.com> napisał(a):
> Hello,
> I'm using Struts 2.3.24.1. I have an action that has two execute
> methods, and it is used by two actions, as follows:
>
> <action name="CreateUserForClient"
> class="com.xxx.EasyEnrollmentCreateClient" method="createUserForClient">
> <action name="CreateUserForParty"
> class="com.xxx.EasyEnrollmentCreateClient" method="createUserForParty">
>
>
> Each method has its own validations, defined by annotations at the method
> level.
>
> @Validations(requiredStrings = {
> @RequiredStringValidator(fieldName="idLanguage", key =
> "validation-error.mandatory", messageParams={"getText('idLanguage')"}),
> @RequiredStringValidator(fieldName="idCompany", key =
> "validation-error.mandatory", messageParams={"getText('idCompany')"}),
> @RequiredStringValidator(fieldName="idParty", key =
> "validation-error.mandatory", messageParams={"getText('idParty')"})})
> public String createUserForParty() throws Exception {
>
>
>
> @Validations(requiredStrings = {
> @RequiredStringValidator(fieldName="idLanguage", key =
> "validation-error.mandatory", messageParams={"getText('idLanguage')"}),
> @RequiredStringValidator(fieldName="idCompany", key =
> "validation-error.mandatory", messageParams={"getText('idCompany')"}),
> @RequiredStringValidator(fieldName="idCustomer", key =
> "validation-error.mandatory", messageParams={"getText('idCustomer')"})})
> public String createUserForClient() throws Exception {
>
>
> The issue is that both sets of validations are always executed, no matter
> which action has been called. And I see in the response that when
> idLanguage or idCompany are missing, the error appears twice, since it is
> requited in both actions.
>
> What am I doing wrong?
>
> Regards
>
> JL
>
|