You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Marc Schipperheyn <m....@tfe.nl> on 2005/04/23 22:27:33 UTC
Validator internationalization: constants not applied
Hi,
I have a struts application that needs to serve multilingual websites for
multiple countries. Every country has the same language parameters but
varying validation-constants for things like zipcodes and mobile phones. I
use commons validator 1.1.4 and struts 1.2.6
When the validation is applied, the locale specific validation (_NL) isn't
applied but the default. When I step through the code I see in
ValidatorResources getForm that the hFormSets has two keys: "nl_NL" and
"_NL". Under nl_NL the default formset is stored and under _NL the _NL
formset. I don't understand this. There is no "nl_NL" key defined in my
validation files.
Is this a bug or a configuration issue? How do I get around it?
Struts-config.xml
<!-- ========== Controller Configuration ============ -->
<controller>
<set-property property="processorClass"
value="nl.aaa.process.SecureRequestProcessor" />
</controller>
<!-- ========== Message Resources Definitions =========== -->
<message-resources parameter="nl.aaa.ApplicationResources" null="false"
/>
<!-- ========== Plug Ins Configuration =================================
-->
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml,/WEB-INF/validat
ion-constants_NL.xml" />
</plug-in>
In my secure request processor I (for testing purposes) set my Locale
protected void processLocale(HttpServletRequest req,
HttpServletResponse res) {
req.getSession().setAttribute(Globals.LOCALE_KEY, new
Locale("nl","NL"));
}
Validation-constants_NL.xml
<form-validation>
<global>
<constant>
<constant-name>mobile</constant-name>
<constant-value>^06[-| ]?[0-9]{8}$</constant-value>
</constant>
<constant>
<constant-name>zipcode</constant-name>
<constant-value>^[0-9]{4} [a-zA-Z]{2}$</constant-value>
</constant>
</global>
<formset country="NL">
<form name="EditSubscriberForm">
<field property="zipcode"
depends="required,mask">
<msg name="mask" key="baseprofileform.errors.zipcodeformat"/>
<arg0 name="required" key="baseprofileform.zipcode"/>
<arg0 name="mask" key="baseprofileform.zipcode"/>
<var>
<var-name>mask</var-name>
<var-value>${zipcode}</var-value>
</var>
</field>
</form>
Validation.xml
<form name="EditSubscriberForm">
<field property="zipcode"
depends="required">
<arg0 name="required" key="baseprofileform.zipcode"/>
</field>
<field property="provinceID"
depends="validwhen">
<arg0 key="subscriptionform.province"/>
<var>
<var-name>test</var-name>
<var-value>(*this* != 0)</var-value>
</var>
</field>
</form>
Kind regards,
Marc Schipperheyn
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org