ASP.NET输入验证控件
ASP.NET输入验证控件
1)ASP.NET验证控件实现原理
过去,Web开发人员添加表单验证的逻辑时面临着艰难的选择,在客户端验证比较方便,但并不是所有的浏览器都支持这种验证,并不是所有浏览器都支持javascript,而且不同版本的浏览器支持不同版本的javascript。
幸运的是,现在不需要你做出这种艰难的选择了。验证控件会自动产生客户端和服务器端代码。如果浏览器支持javascript,那么客户端验证脚本就自动发送到浏览器,如果不支持,验证程序就自动在服务器端代码中实现。
2)配置客户端验证
验证控件所使用的Javascript脚本库是在安装.NET框架时安装的。位于WebUIValidation.js文件中。
默认情况下,WebUIValidation.js被安装到名为aspnet_client目录下,位于Web服务器的wwwroot目录下。所以如果改变了服务器根目录的位置,需要把aspnet_client拷贝到根目录下。
WebUIValidation.js文件的准确位置由machine.config文件(webControls clientscriptsLocation)来决定。
ASP.NET框架封装了一个名为aspnet_regiis的命令行工具,可以用来安装和卸载该脚本库。aspnet_regiis -c aspnet_regiis -e.
3)验证控件
<ASP:Required FieldValidator> <ASP:RangeValidator> <ASP:CompareValidate> <ASP:RegularExpressionValidator> <ASP:CustomValidator> <ASP:ValidationSummary>
System.Web.UI.WebControls.BaseValidator命名空间中的BaseValidator是他们的基类。基类提供了一些常用的属性与方法。
每个验证控件都有自己特有的属性和方法。
1)display属性
可取dymatic,static,none值。dymatic为错误信息动态分配空间,而static为错误信息预留空间。
2)CustomValidator控件
可设置客户端验证和服务器端验证。通过设置函数返回的IsValid来确定是否成功进行了自定义验证。
3)IsValid属性
每个验证控件和page对象都有一个IsValid属性,表明验证是否成功。
4)取消验证
1 怎样取消对一个页面的验证
所有按钮类型的控件都有一个CauseValidation属性,用来设置提交的表单是否需要验证。(设为false,则表单中所有验证失效,只是提交表单)
在用cancer时特别有用。
2 每个验证控件都有一个EnableClientScript属性,通过这个属性可以设置在客户支持客户端的验证时是否允许进行客户端的验证。
3 通过设置Enabled属性,可设置是否进行验证。
4 无论基于什么原因,只要想禁用客户端表单验证,就可以添加如下指令到页面的顶部来实现:
<%@Page ClientTarge="downlevel"%>
但不幸的是,这样也禁止了将页面内所有的ASP.NET控件翻译成任何与HTML3.2不兼容的内容。
浙公网安备 33010602011771号