ASP.NET CustomValidator 控件


定义和用法

CustomValidator 控件允许您书写处理输入值验证的方法。

属性

属性描述
BackColorCustomValidator 控件的背景颜色。
ClientValidationFunction规定要被执行的客户端脚本函数的名称。 注释:脚本必须用浏览器支持的语言编写,比如 VBScript 或 JScript

使用 VBScript 时,函数必须位于表单内:

Sub FunctionName (source, arguments)

使用 JScript 时,函数必须位于表单内:

Function FunctionName (source, arguments)

ControlToValidate要验证的控件的 id。
Display验证控件的显示行为。合法值有:
  • None - 控件不显示。仅用于 ValidationSummary 控件中显示错误消息。
  • Static - 如果验证失败,控件显示错误消息。即使输入通过验证,也在页面上预留显示消息的空间,即用于显示消息的空间是预先分配好的。
  • Dynamic - 如果验证失败,控件显示错误消息。如果输入通过验证,页面上不预留显示消息的空间,即用于显示消息的空间是动态添加的。
EnableClientScript布尔值,规定是否启用客户端验证。
Enabled布尔值,规定是否启用验证控件。
ErrorMessage当验证失败时,在 ValidationSummary 控件中显示的文本。 注释:如果未设置 Text 属性,文本也会显示在验证控件中。
ForeColor控件的前景色。
id控件的唯一 id。
IsValid布尔值,指示由 ControlToValidate 指定的控件是否通过验证。
OnServerValidate规定被执行的服务器端验证脚本函数的名称。
runat规定该控件是服务器控件。必须设置为 "server"。
Text当验证失败时显示的消息。

实例

CustomValidator

  1. <script  runat="server">
  2. Sub user(source As object,args As ServerValidateEventArgs)
  3.    if len(args.Value)<8 or len(args.Value)>16 then
  4.     args.IsValid=false
  5.    else
  6.     args.IsValid=true
  7.    end if
  8. End Sub
  9. </script>     
  10.  
  11. <!DOCTYPE html>
  12. <html>
  13. <body>
  14.  
  15. <form runat="server">
  16. <asp:Label runat="server" Text="Enter a username: " />
  17. <asp:TextBox id="txt1" runat="server" />
  18. <asp:Button Text="Submit" runat="server"/>
  19. <br>
  20. <asp:Label id="mess" runat="server"/>
  21. <br>
  22. <asp:CustomValidator
  23. ControlToValidate="txt1"
  24. OnServerValidate="user"
  25. Text="A username must be between 8 and 16 characters!"
  26. runat="server"/>
  27. </form>
  28.  
  29. </body>
  30. </html>

在本例中,我们在 .aspx 文件中声明了两个 Label 控件,一个 TextBox 控件,一个 Button 控件,和一个 CustomValidator 控件。user() 函数可检测输入值的长度。如果长度小于 8 或大于 16,将在 CustomValidator 控件中显示文本 "A username must be between 8 and 16 characters!"。