在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(验证总结) 总结验证结果
今天的文章就写这么多,如果有时间的话,会把剩余的内容补上!