如何使用asp:CustomValidator服务器控件?

时间:2013-08-14 09:42:21

标签: asp.net customvalidator

为什么每次点击按钮,label字段始终显示“GOOD”。

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">
    void Validate(Object obj, ServerValidateEventArgs args)
    {
        args.IsValid = false;
    }

    void click(Object obj, EventArgs args)
    {
        if (Page.IsValid)
        {
            label.Text = "GOOD";
        }
        else
        {
            label.Text = "FALSE";
        }
    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label           runat="server" Text="Please input a name" />
        <asp:TextBox         runat="server" ID="input"/>
        <asp:CustomValidator runat="server" ID="validator" ControlToValidate="input" OnServerValidate="Validate"/>
        <asp:Button          runat="server" OnClick="click"/>
        <asp:Label           runat="server" ID="label"/>
    </div>
    </form>
</body>
</html>

但是当我在ControlToValidate="input"中删除<asp:CustomValidator>时,一切正常。

为什么?

1 个答案:

答案 0 :(得分:1)

如果您不想允许自定义验证程序,请务必将属性:ValidateEmptyText设置为True

<asp:CustomValidator ValidateEmptyText="True" ...