ASP.NET 2.0服务器控件之验证控件示例2010-12-08 天极 金属边缘在上一篇文章中,我们讲解了有关实现验证控件的一些知识。那些内容将为人员实现验证控件奠定一定基础。为了帮助读者更好的理解验证控件的实现 方法,本文将首先介绍常见验证控件的实现步骤,然后,通过一个典型示例说明 验证控件的实现方法。1. 验证控件实现步骤在创建验证控件过程中,需要实现服务器端验证和客户端验证等核心内容。 下面列举了验证控件的常见实现步骤。(1)验证控件类应由BaseValidator基类继承。这样可使验证控件自动继承 参与验证框架所需要的功能。例如,通过继承BaseValidator的 ControlToValidate属性,实现验证控件与验证目标控件的关联。(2)实现验证控件所特有的一些属性。开发人员可根据应用需求,从方便实 用的角度出发定义这些特有属性。(3)重写AddAttributesToRender方法,将特有属性及相关内容添加到控件 呈现中。当实现客户端验证代码时可能需要引用相关呈现内容。(4)重写EvaluateIsValid方法,为验证控件添加服务器端验证逻辑。(5)重写PreRender事件的事件处理方法OnPreRender,除调用基类实现方法 外,还要实现对客户端验证脚本文件的注册。(6)编写与验证控件一起打包的客户端验证脚本文件,并且将其放置到正确 的目录中。通过以上的一个或者几个步骤,开发人员就可以实现一个基本的验证控件。 在实现过程中,服务器端验证逻辑和客户端验证逻辑必须保持一致,否则,即使 输入数据通过了客户端验证,也无法通过服务器端验证。下面将通过一个典型实 例来进一步说明验证控件的实现方法,以加深读者的理解。2、典型应用本节将使用上文所介绍的开发验证控件的方法,创建一个名为 TelNumValidator的验证控件。该控件用于验证用户输入的电话号码是否符合规 则。如果不符合规则,那么动态提示错误信息。其效果如图1。

图1 效果图(输入错误状态下)