While bringing an app to a recent build (0909) of struts 1.3 and commons-validator-1.2.0, I notice the following related to ValidatorPlugIn:

When using multiple validation files, as in:

<plug-in clasname="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/lib/validator-rules.xml,/WEB-INF/moduleA/validationA.xml,/WEB-INF/moduleB/validationB.xml"/>
</plug-in>

I get in the tomcat console:

"WARN Overriding FormSet definition. Duplicate for locale: fr"

Result is that validation rules on moduleA are not working.

I suspect the message is because both validationA.xml and validationB.xml have a <formset language="fr">

We used to be able to have one validationX.xml per module without problems. (Having the bundle attribute since struts 1.2x made that even better, so there could be one resource-file per module).

I see that now commons-validator 1.2 seems to change this. I fear that without a fix I would have to go back to validations for 400 screens in one single validationABCDEF...xml.

It looks like commons-validation 1.2 implementation builds a formset key based on language, country and variant, but doesn't seem to merge formsets any more.

If my analysis is correct, my suggestion would be
- to either have commons-validator continue to merge formsets for backward compatibility, and/or, - add a namespace or id parameter as in <formset id="moduleA" language="fr">, if necessary to keep the "physical map" feature.

Using existing variant as namespace as in language="fr" country="ch" variant="moduleA" would be an ugly hack, because I would have to specify the locale as this for every jsp so that validation would still work.

Kind regards,

Wolfgang Gehner


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to