导航

在asp.net中使用验证控件

Posted on 2011-04-05 17:03  yjss  阅读(223)  评论(0编辑  收藏  举报

在以前为了验证用户输入的数据是否有效,既要编写大量JavaScript代码,还要编写服务器端验证代码(因为用户可能禁止运行脚本),现在使用asp.net提供的一系列控件可以大大简化这方面的工作!

1、RequiredFieldValidator(验证控件是否有内容)

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator  runat="server"  ControlToValidate="TextBox1" ErrorMessage="您还没有输入"></asp:RequiredFieldValidator>
<asp:Button ID="Button1" runat="server" Text="Button" />
2、RangeValidator(限制输入的内容在指定范围内)
        <asp:RangeValidator ID="RangeValidator1" runat="server" 
            ControlToValidate="TextBox1" ErrorMessage="输入1到10之间的数字" MaximumValue="10" 
            MinimumValue="1" Type="Integer"></asp:RangeValidator>
        <asp:Button ID="Button1" runat="server" Text="Button" />

3、CompareValidator(比较两个控件内的内容)

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
        <asp:CompareValidator ID="CompareValidator1" runat="server" 
            ControlToCompare="TextBox1" ControlToValidate="TextBox2" 
            ErrorMessage="两次输入的内容不一样"></asp:CompareValidator>
        <asp:Button ID="Button1" runat="server" Text="Button" />

4、RegularExpressionValidator(正则表达式验证)

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
            ControlToValidate="TextBox1" ErrorMessage="邮件格式不正确" 
            ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
        <asp:Button ID="Button1" runat="server" Text="Button" />

5、CustomValidator(为用户提供自定义的验证)

JavaScript代码(客户端验证函数)

<script type="text/javascript"">
    function IsChina(ctl, args) {
        args.IsValid=(args.Value=="china");
    }
</script>

服务器控件代码

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:CustomValidator ID="CustomValidator1" runat="server" 
            ControlToValidate="TextBox1" ErrorMessage="no china" 
            onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
        <asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
验证事件代码
        protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
        {
            args.IsValid = args.Value == "china";
        }