×

validationsummary验证控件的作用

validationsummary验证控件的作用((ASP.NET)验证控件有哪些有什么作用)

admin admin 发表于2023-01-11 15:33:18 浏览50 评论0

抢沙发发表评论

本文目录

(ASP.NET)验证控件有哪些有什么作用


验证控件的使用方法
① RequiredFieldValidator控件
当页面上的控件要求必须输入数据时,RequiredFieldValidator就起作用了,ControlToValidate属性选择需要验证的控件,而ErrorMessage属性则是校验不合法后显示的错误提示信息。
《HTML》
《HEAD》
《title》RequiredFieldValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
Name:
《asp:TextBox id=“TextBox1“ runat=“server“ 》《/asp:TextBox》
《asp:RequiredFieldValidator id=“RequiredFieldValidator1“ runat=“server“
ErrorMessage=“Please enter your name“ ControlToValidate=“TextBox1“》《/asp:RequiredFieldValidator》
《asp:Button id=“Button1“ runat=“server“ Text=“Button“》《/asp:Button》
《/form》
《/BODY》
《/HTML》
②CompareValidator控件
CompareValidator控件是用来比较两个输入控件之间的数据一致性的,同时也可以用来校验控件中内容的数据类型:如整形、字符串型等。ControlToCompare和ControlToValidate属性用来设置进行比较的两个控件。
《HTML》
《HEAD》
《title》CompareValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Password:
《asp:TextBox id=“txtPwd“ runat=“server“ TextMode=“Password“》《/asp:TextBox》《BR》
Confirm:
《asp:TextBox id=“TxtCfm“ runat=“server“ TextMode=“Password“》《/asp:TextBox》《/P》
《P》
《asp:Button id=“Button2“ runat=“server“ Text=“Button“》《/asp:Button》
《asp:CompareValidator id=“CompareValidator1“ runat=“server“ ErrorMessage=“Password Error!“
ControlToValidate=“TxtCfm“ ControlToCompare=“txtPwd“》《/asp:CompareValidator》《/P》
《/form》
《/BODY》
《/HTML》
③RangeValidator控件
RangeValidator控件可以用来判断用户输入的值是否在某一特定范围内,属性MaximumValue和MinimumValue用来设定范围的最大和最小值。
《HTML》
《HEAD》
《title》RangeValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Age:
《asp:TextBox id=“TxtAge“ runat=“server“》《/asp:TextBox》
《asp:RangeValidator id=“RangeValidator1“ runat=“server“ ControlToValidate=“TxtAge“
ErrorMessage=“Age Error!“ MaximumValue=“99“ MinimumValue=“1“》《/asp:RangeValidator》《/P》
《/form》
《/BODY》
《/HTML》
④RegularExpressionValidator控件
RegularExpressionValidator控件可以判断用户输入的表达式是否正确,如电话号码、邮编、URL等,ControlToValidate属性选择需要验证的控件,ValidationExpression属性则编写需要验证的表达式的样式,下面的例子就是一段校验邮编的代码。
《HTML》
《HEAD》
《title》RegularExpressionValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Postal Code:
《asp:TextBox id=“TxtPostalCode“ runat=“server“》《/asp:TextBox》
《asp:RegularExpressionValidator id=“RegularExpressionValidator1“ runat=“server“
ControlToValidate=“TxtPostalCode“ ErrorMessage=“Postal Code Error!“
ValidationExpression=“\d6}“》《/asp:RegularExpressionValidator》《/P》
《/form》
《/BODY》
《/HTML》
⑤CustomValidator控件
CustomValidator控件用于执行用户自定义的验证,这种校验既可以是服务器端的也可以是客户端的,下面的代码就是使用客户端验证邮编的例子。
《HTML》
《HEAD》
《title》CustomValidator Example《/title》
《/HEAD》
《BODY》
《form id=“Form1“ runat=“server“》
《P》Postal Code:
《asp:TextBox id=“TextBox1“ runat=“server“》《/asp:TextBox》
《asp:CustomValidator id=“CustomValidator1“ runat=“server“ ControlToValidate=“TextBox1“
ErrorMessage=“CustomValidator“ ClientValidationFunction=“ClientValidate“》
《/asp:CustomValidator》《/P》
《/form》
《/BODY》
《/HTML》
《script language=“vbscript“》
Sub ClientValidate(source, arguments)
If isnumeric(arguments.Value ) and len(arguments.Value)=6 Then
arguments.IsValid=true
Else
arguments.IsValid=false
End If
End Sub
《/script》
⑥ValidationSummary控件
这个控件会将页面中所有的校验错误输出为一个列表,列表的显示方式由DisplayMode属性设置。
《HTML》
《HEAD》
《title》ValidationSummary Example《/title》
《/HEAD》
《body》
《form id=“Form1“ runat=“server“》
《P》Age:
《asp:TextBox id=“TxtAge“ runat=“server“》《/asp:TextBox》
《asp:RequiredFieldValidator id=“RequiredFieldValidator1“ runat=“server“
ControlToValidate=“TxtAge“ ErrorMessage=“Age Error!“ Display=“None“》《/asp:RequiredFieldValidator》《BR》
Postal Code:
《asp:TextBox id=“TxtPostalCode“ runat=“server“》《/asp:TextBox》
《asp:RequiredFieldValidator id=“RequiredFieldValidator2“ runat=“server“
ControlToValidate=“TxtPostalCode“ ErrorMessage=“Postal Code Error!“
Display=“None“》《/asp:RequiredFieldValidator》《/P》
《P》
《asp:Button id=“Button1“ runat=“server“ Text=“Button“》《/asp:Button》《/P》
《P》
《asp:ValidationSummary id=“ValidationSummary1“ runat=“server“
HeaderText=“You must enter a value in the following fields:“》《/asp:ValidationSummary》《/P》
《/form》
《/body》
《/HTML》

在使用ValidationSummary控件时,默认情况是除ValidationSummary控件要显示所有验证控件中的错误消息(Err


用到资源文件就是为了解决一般电脑不带所需控件的问题,如果你想用API的话可以搜索一下API相关资料。这里可以供你参考一下。
WinSockAPI的使用
1.WSAStartup 函数
为了在你的应用程序当中调用任何一个Winsock API 函数,首先第一件事情你就是必须通过WSAStartup函数完成对Winsock 服务的初始化,因此需要调用WSAStartup函数。
Declare Function WSAStartup Lib “ws2_32.dll“ _
(ByVal wVersionRequired As Long, lpWSAData As WSAData) As Long
这个函数有两个参数: wVersionRequired 和 lpWSAData。wVersionRequired 参数定义Windows Sockets 提供能使用的最高版本,它的高位字节定义的是次版本号,低位字节定义的是主版本号。下面的2个Winsock版本在VB中使用的例子:
初始化1.1版本
lngRetVal = WSAStartup(H101, udtWinsockData)
初始化2.2版本
lngRetVal = WSAStartup(H202, udtWinsockData)
第二个参数是WSADATA 的数据结构 ,它是接收Windows Sockets 执行时的数据。
Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription As String * WSADESCRIPTION_LEN
szSystemStatus As String * WSASYS_STATUS_LEN
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
数据成员的描述在下表中:
Field 描述
wVersion Windows Sockets 版本信息。
wHighVersion 通过加载库文件得到的最高的支持Winsock 的版本,
它通常和wVersion值相同。
szDescription Windows Sockets 执行时的详细描述
szSystemStatus 包含了相关的状态和配置的信息
iMaxSockets 表示同时打开的socket最大数,为0表示没有限制。
iMaxUdpDg 表示同时打开的数据报最大数,为0表示没有限制。
lpVendorInfo 厂商指定信息预留
在Winsock的1.1和2.2版本中没有lpVendorInfo的返回值。因为winsock 2支持多个传输协议,所以iMaxSockets 和iMaxUdpDg只能在仅支持TCP/TP的winsock1.1中使用。为了在Winsock 2中获得这些值,你可以使用WSAEnumProtocols 函数。
如果成功或者返回一个错误代码,则函数返回 0。
错误代码 含义
WSASYSNOTREADY 指出网络没有为传输准备好。
WSAVERNOTSUPPORTED 当前的WinSock实现不支持应用程序指定的Windows Sockets规范版本
WSAEINPROGRESS 一个阻塞WinSock调用正在进行
WSAEPROCLIM 请求的协议没有在系统中配置或没有支持它的实现存在。
WSAEFAULT lpWSAData 不是有效的指针
2.WSACleanup 函数
每次调用了WSAStartup函数,你都需要调用WSACleanup函数,通知系统来卸载库文件及清除已分配的资源,这个函数十分简单,没有任何参数:
Declare Function WSACleanup Lib “ws2_32.dll“ () As Long
3.建立Socket函数
Declare Function socket Lib “ws2_32.dll“ (ByVal af As Long, _
ByVal s_type As Long,
ByVal Protocol As Long) As Long
函数有3个参数定义建立何种socket,三个参数分别是:
Argument Description Enum Type
af Address family specification. AddressFamily
s_type Type specification for the new socket. SocketType
Protocol Protocol to be used with the socket SocketProtocol
that is specific to the indicated address
family.
AddressFamily:
AF_UNSPEC = 0 ’/* unspecified */
AF_UNIX = 1 ’/* local to host (pipes, portals) */
AF_INET = 2 ’/* internetwork: UDP, TCP, etc. */
AF_IMPLINK = 3 ’/* arpanet imp addresses */
AF_PUP = 4 ’/* pup protocols: e.g. BSP */
AF_CHAOS = 5 ’/* mit CHAOS protocols */
AF_NS = 6 ’/* XEROX NS protocols */
AF_IPX = AF_NS ’/* IPX protocols: IPX, SPX, etc. */
AF_ISO = 7 ’/* ISO protocols */
AF_OSI = AF_ISO ’/* OSI is ISO */
AF_ECMA = 8 ’/* european computer manufacturers */
AF_DATAKIT = 9 ’/* datakit protocols */
AF_CCITT = 10 ’/* CCITT protocols, X.25 etc */
AF_SNA = 11 ’/* IBM SNA */
AF_DECnet = 12 ’/* DECnet */
AF_DLI = 13 ’/* Direct data link interface */
AF_LAT = 14 ’/* LAT */
AF_HYLINK = 15 ’/* NSC Hyperchannel */
AF_APPLETALK = 16 ’/* AppleTalk */
AF_NETBIOS = 17 ’/* NetBios-style addresses */
AF_VOICEVIEW = 18 ’/* VoiceView */
AF_FIREFOX = 19 ’/* Protocols from Firefox */
AF_UNKNOWN1 = 20 ’/* Somebody is using this! */
AF_BAN = 21 ’/* Banyan */
AF_ATM = 22 ’/* Native ATM Services */
AF_INET6 = 23 ’/* Internetwork Version 6 */
AF_CLUSTER = 24 ’/* Microsoft Wolfpack */
AF_12844 = 25 ’/* IEEE 1284.4 WG AF */
AF_MAX = 26
Socket types:
SOCK_STREAM = 1 ’ /* stream socket */
SOCK_DGRAM = 2 ’ /* datagram socket */
SOCK_RAW = 3 ’ /* raw-protocol interface */
SOCK_RDM = 4 ’ /* reliably-delivered message */
SOCK_SEQPACKET = 5 ’ /* sequenced packet stream */
Protocols:
IPPROTO_IP = 0 ’/* dummy for IP */
IPPROTO_ICMP = 1 ’/* control message protocol */
IPPROTO_IGMP = 2 ’/* internet group management protocol */
IPPROTO_GGP = 3 ’/* gateway^2 (deprecated) */
IPPROTO_TCP = 6 ’/* tcp */
IPPROTO_PUP = 12 ’/* pup */
IPPROTO_UDP = 17 ’/* user datagram protocol */
IPPROTO_IDP = 22 ’/* xns idp */
IPPROTO_ND = 77 ’/* UNOFFICIAL net disk proto */
IPPROTO_RAW = 255 ’/* raw IP packet */
IPPROTO_MAX = 256
该函数可以建立使用特定协议的网络套接字,例如对于UDP协议可以这样写:
s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)
s=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)
4.关闭Socket函数
Declare Function closesocket Lib “ws2_32.dll“ (ByVal s As Long) As Long
函数有一个参数为建立socket时的Handle
5.连接函数
Declare Function connect Lib “ws2_32.dll“ (ByVal s As Long, _
ByRef name As sockaddr_in, _
ByVal namelen As Long) As Long
参数
s 连接的socket句柄。
name 建立连接的地址。
namelen 连接地址的长度。
返回值
成功时返回0。否则返回SOCKET_ERROR以及一个对应的错误号 Err.LastDllError。
显然在调用这个函数时我们需要知道socket句柄,将连接的电脑的端口号和主机名称(或主机IP地址)。我们知道Winsock 控件的Connect方法依靠两个变量:RemoteHost 和RemotePort。此方法不需要socket句柄,因其已经被封装在COM对象中。你也许认为connect函数应该也接受相同的变量设置,然而,事实并非如此。connect函数的主机地址和端口号的传送是依靠 sockaddr_in 结构。
Public Type sockaddr_in
sin_family As Integer
sin_port As Integer
sin_addr As Long
sin_zero(1 To 8) As Byte
End Type
6.套接字帮定函数
Declare Function bind Lib “ws2_32.dll“ (ByVal s As Long, _
ByRef name As sockaddr_in, _
ByRef namelen As Long) As Long
s是使用Socket函数创建好的套接字,name指向描述通信对象的结构体的指针,namelen是该结构的长度。该结
构体中的分量包括:
IP地址:对应name.sin_addr.s_addr
端口号:对应name.sin_port
端口号用于表示同一台计算机上不同的进程(即应用程序),其分配方法有两种:
第一种分配方法是,进程让系统为套接字自动分配一端口号,这只要在调用bind前将端口号指定为0即可。由系统自动分配的端口号位于1024~5000之间,而1~1023之间的任一TCP或UDP端口都是保留的,系统不允许任一进程使用保留端口,除非其有效用户ID是零(即超级用户)。
第二种分配方法是,进程为套接字指定一特定端口。这对于需要给套接字分配一众所周知的端口的服务器是很有用的。指定范围在1024~65536之间。
地址类型:对应name.sin_family,一般都赋成AF_INET,表示是internet地址(即IP 地址)。IP地址通常使用点分表示法表示,但它事实上一个32位的长整数,这两者之间可通过inet_addr()函数转换。
7.套接字监听函数
Declare Function listen Lib “ws2_32.dll“ (ByVal s As Long, ByVal backlog As Long) As Long
listen函数用来设定Socket为监听状态,这种状态表明Socket准备被连接了。注意,此函数一般在服务程序上使用,其中s是使用Socket函数创建好的套接字,backlog参数用于设定等待连接的客户端数。

使用.net实现登录,用validationSummary显示汇总错误信息,再次正确输入后该信息如何隐藏呢


代码贴出来看看。
你的意思是不是西安错误了,提示了以后,再次输入正确后提示信息没有隐藏掉。
这个你要自己写事件,当输入框失去焦点的时候调用一下验证就可以了。
这样就麻烦了
建议使用jquery的validate插件,简单易用,引用下js然后验证的时候调用下样式就可以了
要这个插件的话,百度HI我 我教你怎么用
要不你就把ValidationSummary控件的 ShowMessageBox设为“true“和 ShowSummary设为“false“
这样就是弹出框提示。就可以了

请问C#中数据验证控件的errormessage和text属性有什么区别


ErrorMessage属性和Text属性的不同之处在于,赋值给ErrorMessage属性的信息显示在ValidationSummary控件中,而赋值给Text属性的信息显示在页面主体中。通常,需要保持Text属性的错误信息简短(例如“必填!”)。另一方面,赋值给ErrorMessage属性的信息应能识别有错误的表单字段(例如“名字是必填项!”)。

.net 中的验证问题,请高手指点


先放个文本框(这就是你一会输入月份的时候用的)。。然后在后边放上RequiredFieldValidator控件(这个是验证不能为空的),把这个控件的ControlToValidate属性设置成这个文本框的名字。
然后在放一个RangeValidator控件(这个是验证范围的),同样的也要设置这个控件的ControlToValidate属性。。和上边的一样。
然后再设置这个控件的MaximumValue(这表示范围的最大值,并且包括它本身)和MinimumValue(这表示范围的最小值,并且包括它本身)。分别设置成12,1。
上边这两个验证控件还有些其他的属性,比如ErrorMessage(当验证失败时显示的错误消息)等等。你就自己去弄吧。。。
设置了ErrorMessage以后也可以设置一下Text(这个属性是设置这个验证控件在窗体上显示的样子。一般都设置成*)
你还可以在窗体上放个ValidationSummary控件(用来显示错误消息的,就是当验证没有通过时,这个控件上就会显示你上边那些控件上设置的ErrorMessage(哪个验证没通过就显示哪个的ErrorMessage))
还可以把这个控件的ShowMessageBox设置成True
然后再把ShowSummary设置成false(这两个是对应的。)
ShowMessageBox表示当出错的时候,以弹出对话框的形式显示错误消息
ShowSummary表示当出错的时候,以文本的形式显示错误消息
我试过了。可以的。你再试试。。。呵呵。