自定义验证器在asp.net中不起作用

时间:2011-11-10 16:47:24

标签: asp.net

<asp:TextBox ID="TextBox3" runat="server" Width="127px"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" 
                ControlToValidate="TextBox3" 
                ErrorMessage="Must Be 8 characters" 
                onservervalidate="CustomValidator1_ServerValidate"     
                ValidateEmptyText="True" 
                ValidationGroup="g1">*</asp:CustomValidator>
  <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="LogIn" 
                ValidationGroup="g1" Width="83px" />


 protected void CustomValidator1_ServerValidate(object source, 
                      ServerValidateEventArgs args)
    {
        if (args.Value.Length == 8)
        {
            args.IsValid = true;
        }
        else
            args.IsValid = false;
    }

我希望textbox占用8个字符。但事件没有被激活。我已经尝试将必需字段验证器和ValidateEmptyText设置为true但是它们中的任何一个都不起作用 请帮助。

1 个答案:

答案 0 :(得分:0)

尝试为TextBox添加RequiredFieldValidator,它应该触发自定义验证程序服务器验证事件。

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"   
    ControlToValidate="TextBox3" 
    ErrorMessage="Required">
</asp:RequiredFieldValidator>