And if you want to do a javascript validation on it as well, don't forget to
set the <var-jstype> attribute to be regexp in the validation.xml. Not that
I struggled with that problem for a week or anything...
Matt
----- Original Message -----
From: "Niall Pemberton" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Wednesday, April 21, 2004 4:23 PM
Subject: Re: Validation with 2 masks?
> Theres nothing in the "standard" mask validation that ships with struts
that
> allows you to do this, but it would be pretty straight forward to write
and
> configure your own validator to do this. Set up a static mehtod somewhere
> that does pretty much what the FieldChecks.validateMask() method does,
> except modify the "variable" name to something like "mask2"....
>
> public static boolean validateMask(Object bean,
> ValidatorAction va, Field field,
> ActionMessages errors,
> HttpServletRequest request) {
>
> String mask = field.getVarValue("mask2");
> String value = null;
> if (isString(bean)) {
> value = (String) bean;
> } else {
> value = ValidatorUtils.getValueAsString(bean,
> field.getProperty());
> }
>
> try {
> if (!GenericValidator.isBlankOrNull(value)
> && !GenericValidator.matchRegexp(value, mask)) {
>
> errors.add(
> field.getKey(),
> Resources.getActionMessage(request, va, field));
>
> return false;
> } else {
> return true;
> }
> } catch (Exception e) {
> log.error(e.getMessage(), e);
> }
> return true;
> }
>
> Then change the validation-rules.xml to add the second mask validator
>
> <validator name="mask2"
> classname="myPackage.MyFieldChecks"
> method="validateMask"
> methodParams="java.lang.Object,
> org.apache.commons.validator.ValidatorAction,
> org.apache.commons.validator.Field,
> org.apache.struts.action.ActionMessages,
> javax.servlet.http.HttpServletRequest"
> depends=""
> msg="errors.mask2"/>
>
> Then in your validation.xml, use both the standard mask and your mask2
> validator:
>
> <form name="....">
> <field property="..." depends="mask, mask">
> <var>
>
<var-name>mask</var-name><var-value>^.......$</var-value>
> </var>
> <var>
>
<var-name>mask2</var-name><var-value>^.......$</var-value>
> </var>
> </field>
>
>
>
> ----- Original Message -----
> From: "Berke, Wayne [IT]" <[EMAIL PROTECTED]>
> To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> Sent: Wednesday, April 21, 2004 2:03 PM
> Subject: Validation with 2 masks?
>
>
> I'd like to a property validation against 2 different regular expressions
> with 2 different error messages.
>
> This seems like a fairly common use. Is there a best practice for it?
>
> Wayne
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]