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