struts2 的正则表达式验证不起作用解决办法

在官网上提供的model为:

1       <field-validator type="regex">
2           <param name="expression">[0-9],[0-9]</param>
3           <message>The value of bar2 must be in the format "x, y", where x and y are between 0 and 9</message>
4      </field-validator>

然而我实践的时候发现正则验证不起作用:

 1 <field name="username">
 2         <field-validator type="requiredstring">
 3             <param name="trim">true</param>
 4             <message>用户名不能为空</message>
 5         </field-validator>
 6         <field-validator type="regex">
 7             <param name="expression"><![CDATA[(w{6,20})]]></param>
 8             <message>用户名长度为6-20个字符</message>
 9         </field-validator>
10 </field>

也就是说当用户名的字符数目不合法的时候没有错误信息

经过上网查资料得知,正则表达式的param标签里面的name应该为regex,而不是expression

呃呃呃,不得不说照着官方文档写也有可能出错啊。。

改为regex后正则验证就能正常运行了!


原文地址:https://www.cnblogs.com/LUA123/p/5482250.html