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

<script  runat="server">
Sub user(source As object,args As ServerValidateEventArgs)
   if len(args.Value)<8 or len(args.Value)>16 then
    args.IsValid=false
   else
    args.IsValid=true
   end if
End Sub
</script>     

<!DOCTYPE html>
<html>
<body>

<form runat="server">
<asp:Label runat="server" Text="Enter a username: " />
<asp:TextBox id="txt1" runat="server" />
<asp:Button Text="Submit" runat="server"/>
<br>
<asp:Label id="mess" runat="server"/>
<br>
<asp:CustomValidator
ControlToValidate="txt1"
OnServerValidate="user"
Text="A username must be between 8 and 16 characters!"
runat="server"/>
</form>

</body>
</html>

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