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后正则验证就能正常运行了!

				
时间: 2024-10-08 22:06:19

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

struts2中 jsp:forward 失败原因及解决办法

问题:在Struts2中<jsp:forward page="xxx.action"></jsp:forward>失效了,不但调转不过去还报404错误.不知道是Struts2中不支持还是需要其他的配置. 原因:因为struts2采用过滤器的方式处理请求,默认情况时监控url地址的变化 解决办法1.配置web.xml 解决 1 <filter-mapping> 2 <filter-name>struts2</filter-name&g

gitignore不起作用解决办法

前面有文章介绍了使用gitignore文件的方法,该文件表示过滤规则,但是对已经加入版本库的文件不能生效,因此需要利用命令将想要忽略的文件从版本库中删除,比如说,我们对android工程进行跟踪,结果法相.class和R.文件每次都会有差异,实际上这些系统生成文件不需要追踪,于是我们写了ignore文件去排除跟踪这些文件(具体写法前面文章有介绍),但是在git status的时候还是会追踪这些,因为之前这些文件已经加入到版本库中了. 以下给出解决办法: git rm -r --cached .

springMVC数据验证出现404错误解决办法

今天使用springMVC的数据验证的时候,看似很简单的东西,却有一个很大的陷阱:提交空表单的时候总是出现404错误,但是后台却不给你报任何错.遇到这个错误这个很苦恼,搞了几小时,今天记录并分享一下解决经验(本人使用注解式的数据验证): 错误例子: @RequestMapping(value="/login",method=RequestMethod.POST) public String login(@Valid @ModelAttribute("contentModel&

virtualBox 虚拟机下nginx设置不缓存静态文件不起作用解决办法

最近开发的时候,调整js时会一直使用缓存文件,无法显示改动!nginx配置静态文件add_header Cache-Control no-cache;也不起作用,很苦恼! nginx配置代码:events { worker_connections 768; # multi_accept on;} http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types

cocos2dx 2.x 在ios8下clippingNode不起作用 解决办法

升级xcode到6.1后,跑以前的cocos2dx 2.x写的项目,发现clippingNode失效了. 后来看到这个帖子,解决了我的问题:http://discuss.cocos2d-x.org/t/ccclippingnode-will-raise-error-stencil-buffer-is-not-enabled-when-your-apps-first-draw-use-ccclippingnode/17184/2 下面解法引自上帖: [[UIApplication sharedAp

关于wordpress IP验证不当漏洞的解决办法

在阿里云的主机上搭建完WordPress网站后,阿里云就提示说"wordpress IP验证不当漏洞",实际上这个漏洞影响并不大,但是把还是要有安全的意识,所以建议还是要及时的修补漏洞. 漏洞修复方法:在网站目录下找到wp-includes/http.php这个文件找到: $same_host = strtolower( $parsed_home['host'] ) === strtolower( $parsed_url['host'] ); 把上面这行代码修改为下面代码. if (i

Winform Focus()函数不起作用 解决办法

private void Form_Load(object sender, EventArgs e) { this.txtName.Focus(); } 光标到不了txtName.可能的原因 TabIndex不是本窗体中最小的,应该是从1开始,如果设置为0也不正确. 解决方法 1.Form_Load中实现 设置TabIndex,将其设置为一个本窗体最小值,一般为1. 如果还不行则用其它函数: (1)txtName this.ActiveControl = txtName; 可以得到焦点但是其上的

支付宝接口出现验证错误提示,解决办法

提交的所有数据改成 英文试试,可能是中文导致当已经有全局: <globalization requestEncoding="gb2312" responseEncoding="gb2312"/>单独指定某个文件或目录 的编码 <location path="news/ok.aspx"> <system.web> <!--one--> <globalization requestEncoding

jQuery Validate.js onfocusout onkeyup不起作用解决办法

Validate js onfocusout 失效 两个原因 1.忘记写input type 2.Validate版本问题,试试