Bruusi和Josh开发了一个ASP.NET 2.0 Validator Module (注意:仅可用于ASP.NET 2.0程序),可以在页面渲染的时候自动为您检查该页面是否符合XHTML标准,并在页面上显示验证结果(可以自定义显示部位)。
这个Validator Module会在您的每个页面渲染时根据页面的DOCTYPE自动从W3C下载相应的最新的DTD文件以验证您的页面,并将这些DTD文件其缓存在本地,使您接下来可以离线开发并验证。
您可以在http://www.thejoyofcode.com/Validator_Module.aspx 找到这个Validator Module的英文介绍以及最新更新。
现在让我们看一下一个使用Validator Module的页面的截图。这里我只是简单的通过一个Button来切换某个Label上面文字的换行符(HTML中的<br>,XHTML中的<br />),来使这个页面在XHTML合法与非法之间切换。
合法:
非法:
您可以在http://www.thejoyofcode.com/ValidatorModule/找到更多的示例程序。
下面我们来看看如何使用这个Validator Module,首先,在http://www.thejoyofcode.com/uploads/ValidatorModule.zip 下载所需要引用的程序集并在您的Web Site中添加对其的引用。
然后,按照下载的压缩包中的示例Web.config文件修改您的Web.config文件。您需要在<configuration>节下添加如下内容:
其中validatorModule的mode属性可选Html,HtmlFloat,Comments或者Custom,如果您选择了Custom,还需要编写对IValidationRenderer接口的实现。pageExtensions节中可以指定您需要验证的文件类型。contentTypes节中可以指定您需要验证的内容类型。
< configSections >
< section name ="validatorModule" type ="Tjoc.Web.Validator.ValidatorConfigHandler, Tjoc.Web.Validator" />
</ configSections >
<!-- configure the validator -->
< validatorModule enabled ="true" mode ="HtmlFloat" >
< pageExtensions >
< add value =".aspx" />
</ pageExtensions >
< contentTypes >
< add value ="text/html" />
</ contentTypes >
</ validatorModule >
您还可以添加如下内容(可选)以通过代理服务器访问W3C:
最后,还需要在<system.web>段下添加如下内容:
< httpModules >
< add type ="Tjoc.Web.Validator.ValidatorModule, Tjoc.Web.Validator" name ="ValidatorModule" />
</ httpModules >
OK,万事大吉,您现在可以方便的随时随地检查您的页面是否符合XHTML标准了!
本文开头的示例程序可在此下载:http://files.cnblogs.com/dflying/ValidatorModuleDemo.zip
Validator Module可在此下载:http://www.thejoyofcode.com/uploads/ValidatorModule.zip
如果您希望研究一下Validator Module的源程序,可以在http://www.thejoyofcode.com/contact_us.aspx 与Bruusi和Josh联系。