第四章HTML控件和验证控件
- 格式:ppt
- 大小:2.81 MB
- 文档页数:40
C#验证控件的使⽤RequiredFieldValidatorCompareValidator使⽤验证控件可以向服务器提交表单数据时验证表单内容,下⾯以RequiredFieldValidator和CompareValidator为例说明验证控件的⽤法RequiredFieldValidator⽤来检查必填字段CompareValidator控件可以⽤来检查数据类型或者⽐较⼤⼩。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ValidationControl.aspx.cs" Inherits="WebApplication1.ValidationControl" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title></title><style type ="text/css">.red{color:Red ;}</style></head><body><form id="form1" runat="server"><div><fieldset ><legend title ="123">Product Order Form </legend><asp:Label ID ="lblProductName" runat ="server" Text =" Product Name:" AssociatedControlID ="txtProductName"></asp:Label><br /><asp:TextBox ID ="txtProductName" runat ="server"></asp:TextBox><asp:RequiredFieldValidator ID ="reqProductName" ControlToValidate="txtProductName" runat ="server" Text ="(Require)" CssClass ="red " SetFocusOnError ="true"></asp:RequiredFieldValidator><br /><asp:Label ID ="lblPrice" runat ="server" Text ="Price:" AssociatedControlID ="txtPrice"></asp:Label><asp:TextBox ID ="txtPrice" runat ="server"></asp:TextBox><asp:RequiredFieldValidator ID ="reqPrice" runat ="server" ControlToValidate="txtPrice" Text ="(Require)" CssClass ="red " SetFocusOnError ="true"></asp:RequiredFieldValidator><asp:CompareValidator ID ="comPrice" runat ="server" ControlToValidate ="txtPrice" Operator ="DataTypeCheck" Text ="Invalid Value" Type ="Currency" CssClass ="red " SetFocusOnError ="true"></asp:CompareValidator <br /><asp:Label ID ="lblQty" runat ="server" Text ="Qty:" AssociatedControlID ="txtQty"></asp:Label><asp:TextBox ID ="txtQty" runat ="server"></asp:TextBox><asp:CompareValidator ID ="comQty" runat ="server" ControlToValidate="txtQty" Text ="Invalid Value" CssClass ="red " Display ="Dynamic" Operator ="DataTypeCheck" Type ="Integer" SetFocusOnError ="true"></asp:CompareValida <br /><asp:Button ID ="txtSummit" runat ="server" Text ="提交" onclick="txtSummit_Click"/></fieldset><asp:Label ID ="lblResult" runat ="server"></asp:Label></div></form></body></html>View Codepublic partial class ValidationControl : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){}protected void txtSummit_Click(object sender, EventArgs e){if (Page.IsValid){lblResult.Text = "Product Name:" + txtProductName.Text + "<br/>" +"Price:" + txtPrice.Text + "<br/>" +"Qty:" + txtQty.Text;}}}View Code例⼦说明:1.验证控件ControlToValidate属性⽤于指定需要验证的控件;2.验证控件的Text属性⽤于验证错误时显⽰错误信息,⼀般Text属性只是简单的⽂字,但是Text属性也⽀持html,⽐如<img src="error.gif" ali=""/>⽤⼀个图⽚代替简单的⽂字;3.如果要验证信息显⽰红⾊,或者别的特殊样式,可以使⽤CssClass指定样式;4.验证控件的 Display属性,Display属性有Dynamic、Static、None三个值,默认Static,Display为Static时⽣成的错误信息如下<span id="reqPrice" class="red " style="visibility: visible;">(Require)</span>Display为Dynamic⽣成的错误信息为<span id="reqPrice" class="red " style="display: none;">(Require)</span>两者的区别是visibility: visible虽然隐藏了,但还是占据窗⼝空间,display: none不占窗⼝空间,我们应该设置Display为Dynamic这样验证信息后⾯的控件就不会被推倒右边None ⽣成的标签如下,错误信息为空,所以不能⽤来显⽰错误提⽰<span id="reqPrice" class="red " style="display: none;"></span>5.验证控件默认在客户端和服务器端都进⾏验证,⼀些低端的浏览器不⽀持JavaScript,所以在服务器端进⾏验证能保证数据的有效性。
实验04验证控件和用户控件实验四验证控件和用户控件学号:20211020260姓名:廖宇专业:信管实验时间:2021年4月3日实验地点:宿舍一、实验目的掌握服务器验证控件的使用。
掌握在网站中创建和使用用户控件。
二、实验内容和要求(1)实现对护照输入的验证,要求使用RequiredFieldValidator控件对输入是否为空进行验证,如为空则给出提示;使用Regu 1 arExpr e s s i onVa 1 i da tor控件对格式进行验证,如不符合格式则给出提示。
A、打开visual studio 2021,按实验一的方法创建一个ASP. NET Web的空网站,命名为“课堂练习4-1”B、右击网站名称,选择“添加新项”命令。
在“添加新项”对话框中选择web网页,单击添加按钮,默认名称为Default, aspxoC、设计窗体。
切换到设计视图,向页面中添加1个TextBox控件、一个RequiredFieldValidator 控件、1 个Button 控件和 1 个regularexpressionvalidator 控件,并设置相关属性。
得到如下格式。
D、设置regularexpress ionvalidator 控件属性。
F、窗体测试(2)验证用户输入的日期必须在2021-2021年之间,要求使用RangeValidator控件进行验证。
A、打JF visual studio 202b按实验一的方法创建一个ASP. NET Web的空网站,命名为“课堂练习4-2”B、右击网站名称,选择“添加新项”命令。
在“添加新项”对话框中选择web网页, 单击添加按钮,默认名称为Default, aspxoC、设计窗体。
切换到设计视图,向页面中添加1个textbox控件,一个rangevalidator 控件和一个button控件。
设置如实验手册33页属性©D、测试建立的窗体(3)口定义验证注册的用户名是否己经被使用,耍示使用CustomValidator控件实现。
实验1 服务器控件和验证控件
一、实验目的
1、熟练掌握服务器控件的使用。
2、熟练掌握验证控件的使用。
二、实验内容
1、编写一个Web应用程序Login,该程序用于检查用户登录信息。
当用户输入正确的用户名和密码时,显示登录成功的消息。
否则,显示登录不正确的消息。
如图所示:
2、完成如下选择城市的程序,要求单击左向箭头时,把右边ListBox中的所有选中项移到左边的ListBox中;要求单击右向箭头时,把左边ListBox中的所有选项移到右边ListBox中。
3、编写一个注册窗口,含账号、E-mail、电话号码、移动电话号码、密码、确认密码,要求:
1)账号要以英文字母开头,而且最少要输入四个字符;
2)E-mail要求为合法格式;
3)密码与确认密码要相等;
4)电话号码只能为数字,且长度为8位;
5)移动电话格式为13开头的11位数字。
三、实验报告要求
1、源程序清单。
2、程序运行结果。
3、调试过程中遇到的问题和解决的方法。
⾃定义验证控件CustomValidator的使⽤CustomValidator验证控件,可以⾃定义验证函数,实现其它⼏个验证控件不能实现的验证规则,最简单的应⽤如下:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CustomValidatorDemo.aspx.cs" Inherits="CustomValidatorDemo" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>⾃定义验证控件的使⽤</title><script type="text/javascript">function IsEven(source, args){if (args.Value % 2 == 0 ){arg.IsValid = true;}else{args.IsValid = false;}}</script></head><body><form id="form1" runat="server"><div>偶数:<asp:TextBox ID="txtEven" runat="server"></asp:TextBox><asp:CustomValidator ID="valxEven" runat="server" ControlToValidate="txtEven" ErrorMessage="所输数据不是偶数"ClientValidationFunction="IsEven">*</asp:CustomValidator><br /><asp:ValidationSummary ID="valsErrorMessage" runat="server" /><asp:Button ID="btnSubmit" runat="server" Text="提交" /></div></form></body></html>【说明】1、函数名由 ClientValidationFunction="IsEven"指定,函数形参名字可以⾃⼰决定,⽐⽅有些实例把args写成arguments,也是可以的;2、形参args主要有两个属性args.Value和arg.IsValid,这两个属性要注意⼤⼩写3、⾃定义验证控件可触发onservervalidate事件,在服务器端也可以编写验证代码,但,如果这样做,就有点失去了验证控件在客户端实现验证的意义了。
验证控件的使用二(RequiredFieldValidator)RequiredFieldValidator 用于验证输入控件中的内容是否为空。
如果为空,则会显示错误信息,提示用户必须填写该字段。
这个控件非常常用,可以用于验证文本框、下拉列表、复选框等输入控件。
```html<asp:TextBox ID="txtName" runat="server"></asp:TextBox><asp:RequiredFieldValidator ID="rfvName" runat="server" ControlToValidate="txtName"```在这个例子中,我们设置了一个 TextBox 控件和一个RequiredFieldValidator 控件。
RequiredFieldValidator 的ControlToValidate 属性指定了要验证的输入控件,这里是 txtName。
ErrorMessage 属性指定了验证失败时要显示的错误信息。
“*” 是一个特殊字符,它可以显示在验证控件的旁边,并起到提示用户必填的作用。
同时,我们还设置了一个 ValidationGroup 属性,用于指定该验证控件所属的分组。
这个分组可以用于对表单中的不同部分进行独立的验证。
```html<asp:Button ID="btnSubmit" runat="server" Text="提交"OnClick="btnSubmit_Click" CausesValidation="true"ValidationGroup="vgForm" />```在按钮的点击事件中,我们可以使用 Page 的 IsValid 属性来判断整个表单中的所有验证是否通过。