使用常用的数据验证控件编写一个表单页面

fengdoula 2009-05-15 08:23:08
【考点】
表单数据验证控件的编写实例。
【出现频率】
★★☆☆☆
【解答】
在VS 2008中添加新的WEB窗体项到NetWeb项目,并命名为FormVd.aspx,编写FormVd.aspx如代码11.16所示。

代码11.16 表单信息提交验证页面:FormVd.aspx

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

<!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" >
<head runat="server">
<title>表单信息提交验证页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="RegForm" runat="server">
用  户  名:<asp:TextBox runat="server" ID="tb1"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="Vd1"
ControlToValidate="tb1" Text="请填写用户名"></asp:RequiredFieldValidator>
<br />
密        码:
<asp:TextBox runat="server" ID="tb2" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="Vd2"
ControlToValidate="tb2" Display="Dynamic" Text="请输入密码"></asp:RequiredFieldValidator>
<asp:CompareValidator runat="server" ID="Vd3" ControlToCompare="tb1"
ControlToValidate="tb2" Operator="NotEqual" Text="用户名和密码相同"></asp:CompareValidator>
<br />
确认密码:<asp:TextBox runat="server" ID="tb3" TextMode="Password"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="Vd4"
ControlToValidate="tb3" Display="Dynamic" Text="请输入确认密码"></asp:RequiredFieldValidator>
<asp:CompareValidator runat="server" ID="Vd5" ControlToCompare="tb2"
ControlToValidate="tb3" Operator="Equal" Text="密码两次输入不相同"></asp:CompareValidator>
<br />
年        龄:
<asp:TextBox runat="server" ID="tb4"></asp:TextBox>
<asp:RequiredFieldValidator runat="server" ID="Vd6" ControlToValidate="tb4" Display="Dynamic"
Text="请输入年龄"></asp:RequiredFieldValidator>
<asp:RangeValidator runat="server" ID="Vd7" ControlToValidate="tb4"
MinimumValue="10" MaximumValue="60" Type="Integer"
Text="请输入正确的年龄"></asp:RangeValidator>
<br />
<asp:Button runat="server" ID="btn" Text="提交注册信息" onclick="btn_Click" />
</div>
<div id="SuccessReg">
<asp:Label runat="server" ID="STxt"></asp:Label>
</div>
</div>
</form>
</body>
</html>
本题主要考查面试者对表单数据验证控件工作方式的理解。在完整、成熟的WEB应用程序项目中,编写FormVd.aspx.cs如代码11.17所示。

代码11.17 表单信息提交验证成功信息显示:FormVd.aspx.cs

using System;
………………………

namespace NetWeb
{
public partial class FormVd : System.Web.UI.Page
{
protected void btn_Click(object sender, EventArgs e)
{
//判断所有验证控件的“IsValid”属性是否为“true”
if (Vd1.IsValid && Vd2.IsValid && Vd3.IsValid && Vd4.IsValid && Vd5.IsValid && Vd6.IsValid && Vd7.IsValid)
{
//判断是否为回传页面
if (IsPostBack)
{
//隐藏“ID”属性为“RegForm”的HTML服务器控件(div),通过STxt控件显示注册信息
this.RegForm.Visible = false;
this.STxt.Text = "<strong>注册信息验证成功</strong>";
this.STxt.Text += "<hr />用户名:" + tb1.Text;
this.STxt.Text += "<br />密码:" + tb2.Text;
this.STxt.Text += "<br />年龄:" + tb4.Text;
}
}
}
}
}
【分析】
本题主要考查面试者对常用数据验证控件的应用。验证控件大大减轻了编程者编写表单页面的复杂度,这些验证控件的基本信息如表格11.1所示。
表格11.1 ASP.NET验证控件

验证名称 验证控件类型 作用
必填字段验证 RequiredFieldValidator 验证指定的控件是否输入了数据
比较验证 CompareValidator 将指定的控件输入值和另一个控件或数值进行预设的操作比较,验证比较结果是否为true
取值范围验证 RangeValidator 验证指定的控件输入值是否位于指定的范围内
正则表达式验证 RegularExpressionValidator 验证指定的控件输入值与正则表达式定义的模式是否匹配
自定义验证 CustomValidator 使用编程者用自定义的验证逻辑代码检查用户输入值
验证总结 ValidationSummary 以统一的形式将所有验证控件的错误信息显示在页面的指定位置
...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧