验证控件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(8)现在我们在设计界面上点击这个用户自定义验证控件,或者选中这个用户自定义验证控件,点击“事件”,见下图4-3:
图4-3
随后再点击“ServerValidate”事件即可,见图4-4。
图4-4
(9)我们添加如下验证代码。
protectedvoidCusVYearSave_ServerValidate(objectsource,ServerValidateEventArgsargs)
ErrorMessage="未填写ID"></asp:RequiredFieldValidator>
&nbsp;<span lang="zh-cn">&nbsp; </span>
<asp:RegularExpressionValidator ID="REVId" runat="server"
ControlToValidate="TxtID" ErrorMessage="ID无效"
用户输入两次密码必须一致
电话号码要满足这样的格式:(010)12345678或者(0756)-1234567,即区号必须为3或4位数字,并用“圆括号”分隔,电话号码为7或者8位,
身份证号为15或18位数字,如果是18位则最后一位可以是X
邮政编码为6位数字
Email要符合电子邮箱的规则
个人网页要符合网址的写法
RangeValidator
RVYearIncome
TxtYearIncome
年收入输入有误
MaxValue: 100000
MinValue:10000
Type:Integer
CompareValidator
CVYearSave
TxtYearSave
年存款有误
ControlTo
Compare:
TxtYearIncome
Operator: LessThan
Type:Integer
RegularExpression
Validator
REWeb
TxtHomePage
网址有误
http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
RegularExpression
Validator
RE
Phone
Textbox
ID
TxtZip
Textbox
ID
TxtSimpName
Button
ID
Text
BtnSubmit
注册
表4-1主要控件设置
(5)添加验证控件,验证控件位置在工具栏见,下图4-2
图4-2验证控件
(6)添加的验证控件设置类型及属性参见下表4-2
验证控件类型
ID
被验证的控件
ControlToValidate
{
if (Page.IsValid)
{
LblMessage.Text = "恭喜,通过验证";
}
else
{
LblMessage.Text = "对不起,请重新输入有问题的地方!";
}
}
}
.aspx代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
ValidationExpression="A[B-Z][B-Z][0-9]{3}"></asp:RegularExpressionValidator>
肇庆学院计算机学院
Asp.net动态网站开发实验报告
实验名称
验证控件
班级
姓名
学号
实验地点
日期
成绩
一、实验目的:
掌握使用验证控件的方法。
二、实验环境:
Windows系列操作系统的计算机,软件visual studio 2010。
三、实验内容、步骤、实验结果与分析:
见附页
五、实验总结
基本掌握了怎么使用验证控件的方法。
为此,我们要使用到一个叫做CustomerValidate的验证控件。
该控件设置如下表4-3所示:
验证控件类型
ID
被验证的控件
ControlToValidate
错误消息
ErrorMessage
Customer
Validator
CusVYearSave
TxtYearSave
年存款大于年收入的80%
表4-3
ID
TxtID
Textbox
ID
TxtPWD
Textbox
ID
TxtPWD2
Textbox
ID
TxtEmail
Textbox
ID
TxtYearIncome
Textbox
ID
TxtYearSave
Textbox
ID
TxtHomePage
Textbox
ID
TxtTel
Textbox
ID
TxtIDCard
Validator
RESimpName
TxtSimpName
名字有误
[\u4e00-\u9fa5]{2,4}
表4-2验证控件设置
(7)现在我们已经解决了大部分的问题,下面我们要解决一个关键的验证问题,就是如何验证年存款最多为年收入的80%这个条件。要解决这个特殊的验证是无法通过简单地设置验证控件来实现的,必须通过代码(也就是程序)来解决这个问题。
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<p>
<asp:Label ID="Label1" runat="server" Text="输入ID:"></asp:Label>
{
int intYearSave;//年存款
int intYearIncome;//年收入
intYearIncome = Convert.ToInt32(TxtYearIncome.Text);//将年收入转换为整型
intYearSave = Convert.ToInt32(args.Value);//将年存款转换为整型
Validator
RFVPwd
TxtPWD
未填写密码
CompareValidator
CVPwd
TxtPWD2
两次输入密码不一致
ControlTo
Compare: TxtPWD
RegularExpression
Validator
REEMail
TxtEmail
Email写法不对
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
if(intYearSave > intYearIncome * 0.8)
{
args.IsValid =false;//如果年存款大于年收入的80%则验证不通过
}
else
{
args.IsValid =true;//年存款小于年收入的80%,验证通过返回真
}
}
(10)最后,我们在“注册”按钮中添加如下代码。
protectedvoidBtnSubmit_Click(objectsender,EventArgse)
{
if(Page.IsValid)
{
LblMessage.Text ="恭喜,通过验证";
}
else
{
LblMessage.Text ="对不起,请重新输入有问题的地方!";
}
}
任务二
(1)我们发现上面页面验证的时候,如果用户不输入数据反而会通过检验,为上面所有验证控件验证的用户输入TxtBox控件添加一个RequiredField Validator验证控件,用来防止用户没有输入数据而未进行数据的检验。
中文名字必须是简体中文,并且是2到4个字
年存款最多为年收入的80%
(3)创建工程,并设计用户注册界面,可参照下图4-1所示。
图4-1用户注册界面设计图
(4)在用户注册页面中的用户输入信息控件(TextBox控件)及主要控件设置参见下表4-1
控件
属性名称
属性值
Lblel
ID
LblMessage
Textbox
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
TxtTel
电话有误
(\d{3,4})-\d{7,8}
RegularExpression
Validator
REID
Card
TxtIDCard
身份证有误
\d{17}[\d|X]|\d{15}
RegularExpression
Validator
REPost
Code
TxtZip
邮编有误
\d{6}
RegularExpression
实验要求:
Biblioteka Baidu
(1)问题描述:设计用户注册页面,并对用户在注册时输入的数据进行检验,通过检验之后再向服务器发送请求,进行以后的操作。用户需要输入姓名、职业、年收入和年存款、电话号码等信息。
(2)用户注册页面具体验证内容说明:
年收入要介于10,000与100,000之间,年存款应低于年收入
ID号要符合ACC000这样的格式,即第一位是A(大写),二三位是大写B-Z中的任意字母,最后三位要求是数字。
(2)如果我们要限制用户输入的密码至少要有6位字符,应当如何实现。
将输入密码文本框的autopostback属性设置为true,编写TxtPWD的TextChanged事件,
protectedvoidTxtPWD_TextChanged(objectsender,EventArgse)
{
intcount=TxtPWD.Text.Trim().Length;
&nbsp;&nbsp;&nbsp;&nbsp;
<asp:TextBox ID="TxtID" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVId" runat="server" ControlToValidate="TxtID"
{
intintYearSave;//年存款
intintYearIncome;//年收入
intYearIncome =Convert.ToInt32(TxtYearIncome.Text);//将年收入转换为整型
intYearSave =Convert.ToInt32(args.Value);//将年存款转换为整型
{
}
protected void TextBox2_TextChanged(object sender, EventArgs e)
{
}
protected void CusVYearSave_ServerValidate(object source, ServerValidateEventArgs args)
if (intYearSave > intYearIncome * 0.8)
{
args.IsValid = false;//如果年存款大于年收入的80%则验证不通过
}
else
{
args.IsValid = true;//年存款小于年收入的80%,验证通过返回真
}
}
protected void BtnSubmit_Click(object sender, EventArgs e)
核心代码:.cs
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
错误消息
ErrorMessage
正则表达式
Validation
Expression
其他属性和值
RequiredField
Validator
RFVId
TxtID
未填写ID
RegularExpression
Validator
REVId
TxtID
ID无效
A[B-Z][B-Z][0-9]{3}
RequiredField
if(count<6)
{
Label13.Text="密¨码要超过6位";
TxtPWD.Focus();
return;
}
}
(3)增加一个ValidationSummary控件(验证汇总控件),用来显示所有未通过验证的用户输入数据。
任务三
(1)或者自行设计一个用户注册信息,增加验证控件实现用户输入数据的检验。
相关文档
最新文档