Hi,

I have some problems with using the following regular expression in the 
validation framework from Struts. 

<field property="projectNumber" depends="required,mask">
                        <msg name="mask" key="errors.format"/>
                        <arg key="projectNumber" />             
                        <arg key="GB-XXXXXX-AA-BB-CC-DD-EE" resource="false" 
position="1"/>
                        <var>
                        <var-name>mask</var-name>
                        <var-value>^\w{2}-\w{6}(-\w{2}){0,5}$ | 
^[0-9]{4,6}$</var-value>
                </var>
             </field>   

I have tested with the following scenarios:

333 ==> validation works and a validation message is displayed.
6666 ==> validation OK
1234567 ==> validation does not work, no validation error is displayed

When I use the same pattern in a java class it works fine???


String input = "1234567";
String pattern = "^\\w{2}-\\w{6}(-\\w{2}){0,5}|([0-9]{4,6})$";
Pattern p = Pattern.compile(pattern);
Matcher match = p.matcher(input);
boolean result = match.matches();


Can anybody tell me what is wrong in the above definition of the field ??

Regards
Ferruh

Reply via email to