今天使用StringValidator的时候遇到一个问题,如图所示,错误信息出现两条。
[img]http://dl.iteye.com/upload/attachment/530764/b60a8e00-dc1c-332d-a299-54f5dfa95297.png[/img]
很奇怪的问题。
后来运行过程中发现,我每点一次提交按钮,它就加一行错误信息。
[b]点击提交时做了什么?[/b]
new了一个StringValidator,然后Validator.validateAll([sv])。
[b]这与用标签的写法有什么区别呢?[/b]
用标签实现时,StringValidator只有一个,而这种方式new了多个。
将StringValidator由局部变量转为字段,并保证只创建一次,问题解决。
具体代码就不贴出来了,大家去查API中的示例好了。
[img]http://dl.iteye.com/upload/attachment/530764/b60a8e00-dc1c-332d-a299-54f5dfa95297.png[/img]
很奇怪的问题。
后来运行过程中发现,我每点一次提交按钮,它就加一行错误信息。
[b]点击提交时做了什么?[/b]
new了一个StringValidator,然后Validator.validateAll([sv])。
[b]这与用标签的写法有什么区别呢?[/b]
用标签实现时,StringValidator只有一个,而这种方式new了多个。
将StringValidator由局部变量转为字段,并保证只创建一次,问题解决。
具体代码就不贴出来了,大家去查API中的示例好了。
本文探讨了使用StringValidator时遇到的一个问题:每次点击提交按钮都会增加一条错误信息。通过分析发现,问题根源在于每次点击都new了一个新的StringValidator实例。解决方法是将StringValidator实例设为字段并确保只创建一次。
1193

被折叠的 条评论
为什么被折叠?



