ASP.NET验证控件

在Web应用程序中,一般都要对用户进行信息验证,确保是一些合法的用户才可以正常的登陆上系统,那么今天要介绍的ASP.NET验证控件共有六种,它们的历史对于计算机行业来说,是有一点的老旧,但是目前还是有很多的企业用到。

(1)RequiredFieldValidator(必须字段验证) 用于检查是否有输入值 

1.前端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Wep.Login" %>

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title></head><body><form id="form1" runat="server">
        <div id="Login">
            账 号:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Button ID="btnLogin" runat="server" Text="登 录" OnClick="btnLogin_Click" />
        <div>
            <br/>
            <!--ErrorMessage:是一个错误的提示!ControlToValidate:绑定某一个控件是出现错误的提示!-->
            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="txtName" runat="server" ErrorMessage="这是错误信息提示!"></asp:RequiredFieldValidator>
        </div>
        </div>
    </form>
</body>
</html>

2.前端界面

3.后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Wep
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            RequiredFieldValidator1.ErrorMessage = "这是错误信息提示!";
        }
    }
}

4.Wep运行效果

txtName是空的,则会提示如上错误!如果是有数字的话,那么就不会有如上的提示 


(2)CompareValidator(比较验证) 按设定比较两个输入 

那么这个是什么理解的呢?其实很简单,例如一个年龄范围0<x<100,如果是小于这个范围或者超出这个范围的话,那么就会提示出来一个不合法的年龄。

1.前端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Wep.Login" %>

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title></head><body><form id="form1" runat="server">
        <div id="Login">
            账 号:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Button ID="btnLogin" runat="server" Text="登 录" OnClick="btnLogin_Click" />
        <div>
            <br/>
            <!--ControlToValidate:要验证的控件ID!MaximumValue:最大的范围!MinimumValue:最小的范围! ErrorMessage:错误提示! -->
            <asp:RangeValidator ID="RangeValidator1" ControlToValidate="txtName" runat="server" ErrorMessage="您输入的年龄不合法" MaximumValue="100" MinimumValue="0"></asp:RangeValidator>
        </div>
        </div>
    </form>
</body>
</html>

2.前端界面

3.后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Wep
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            RangeValidator1.ErrorMessage = "您输入的年龄不合法!";
        }
    }
}

4.Wep显示效果

如果输入的数字是在合法的范围内的话,那么就没有错误的提示信息,如果输入的数字不在合法的范围内的话,那么就会显示出来相关的错误提示!


(3)RangeValidator(范围验证) 输入是否在指定范围 

其实这个验证控件的用法和第二个验证控件的用法也是差不多一样,这里的话,就不多写了。
 

(4)RegularExpressionValidator(正则表达式验证) 正则表达式验证控件 

1.前端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Wep.Login" %>

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title></head><body><form id="form1" runat="server">
        <div id="Login">
            账 号:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Button ID="btnLogin" runat="server" Text="登 录" OnClick="btnLogin_Click" />
        <div>
            <br/>
            <!--ControlToValidate:要验证的控件ID!ValidationExpression:邮箱格式 ErrorMessage:错误提示! -->
            <asp:RegularExpressionValidator ID="RegularExpressionValidator1" ControlToValidate ="txtName" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*" runat="server" ErrorMessage="邮箱格式错误!"></asp:RegularExpressionValidator>

        </div>
    </form>
</body>
</html>

2.前端界面

3.后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Wep
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            RegularExpressionValidator1.ErrorMessage = "邮箱格式错误!";
        }
    }
}

4.Web运行效果

4.1合法邮箱

4.2非合法


(5)CustomValidator(自定义验证) 自定义验证控件 

1.前端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Wep.Login" %>

<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title></title></head><body><form id="form1" runat="server">
        <div id="Login">
            账 号:<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Button ID="btnLogin" runat="server" Text="登 录" OnClick="btnLogin_Click" />
        <div>
            <br/>
            <!--ControlToValidate:要验证的控件ID!OnServerValidate:验证函数 ErrorMessage:错误提示! -->
            <asp:CustomValidator ID="CustomValidator1" ControlToValidate="txtName" OnServerValidate="CustomValidator" runat="server" ErrorMessage="您输入的数字已经超过5个!"></asp:CustomValidator>
        </div>
        </div>
    </form>
</body>
    <!--js-->
    <script runat="server">
        void CustomValidator(Object source,ServerValidateEventArgs args)
        {
            if(args.Value.Length > 5)
            {
                args.IsValid = false;
            }
            else
            {
                args.IsValid = true;
            }
        }
    </script>
</html>

2.前端界面

3.后台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Wep
{
    public partial class Login : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnLogin_Click(object sender, EventArgs e)
        {
            CustomValidator1.ErrorMessage = "您输入的数字已经超过5个!";
        }
    }
}

4.Web运行效果

4.1非正常


(6)ValidationSummary(验证总结) 总结验证结果 

今天的文章就写这么多,如果有时间的话,会把剩余的内容补上!

发布了122 篇原创文章 · 获赞 36 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qqj3066574300/article/details/100634771