代码改变世界

JSValidation 配置文件

2012-10-24 15:25  coffeescript  阅读(357)  评论(0编辑  收藏  举报

最近学到JSValidation,上网查了下,这个验证框架是04年的,有一段历史了,所以可能出现在IE8里正常,但到了IE9里就无法工作,不过相关功能还是可以用javascript实现的。在Firefox里表现正常。

在下载完成的demo网页里,faq一栏作者已经指明了几个容易犯的错误。

1. JSValidation的路径配置看起来比较麻烦,在JSP/Servlet WebApp中到底该怎么配置?

在JSP/Servlet WebApp中,很多人经常把"/"认为是JSvalidation的RootPath。在普通的JSP WebApp中,/代表的往往不是应用程序根目录,而是站点的根目录。例如,http://localhost:8080/webapp/中,/代表http://localhost:8080/,而不是/webapp/。在一些开发框架如Struts,提供了URL Rewrite的功能,能够自动将/映射为/webapp/。但是,这一点,在jsvalidation中并不有效。
    所以,你需要确认,RootPath是否就是真正的jsvalidation的路径。例如,你将jsvalidation放到了 webapp_home/javascripts/jsvalidation,这时候,RootPath应该是/webapp_name /javascripts/jsvalidation,而并非/javascripts/jsvalidation。检验路径最有效的方法是直接打开浏览 器,浏览资源http://domain:port/RootPath/validation-config.xml。如果能够访问,说明配置正确。

2. 如何保证我编写的配置文件是正确的?

答案很简单。由于新的validation-config.xml文件采用了DTD验证,因此,只要你的文件能够在支持xml校验的浏览中打开并不报错,说明你的配置文件编写正确。

演示一个正确的validation-config.xml

View Code
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <!DOCTYPE validation-config SYSTEM "validation-config.dtd">
 3 <validation-config lang="auto">
 4     <form id="form1" show-error="error" show-type="all">
 5         <field name="name" display-name="Name" onfail="">
 6             <depend name="required" />
 7             <depend name="commonChar" />
 8         </field>
 9         <field name="email" display-name="Email">
10             <depend name="required" />
11             <depend name="email" />
12         </field>
13         <field name="gender" display-name="Gender">
14             <depend name="required" />
15         </field>
16         <field name="codingtime" display-name="Coding Time">
17             <depend name="required" />
18         </field>
19         <field name="os" display-name="Using which OS">
20             <depend name="required" />
21         </field>
22         <field name="language" display-name="Using which language">
23             <depend name="required" />
24         </field>
25         <field name="suggest" display-name="Your suggest">
26             <depend name="required" />
27         </field>
28     </form>
29     
30 </validation-config>