C#--WEb中登录时输入各项的验证

验证:
一、RequiredFieldValidator:非空验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
InitialValue:控件的初始值,如果验证出来的值与初始值相同,则也是判断为空

两种非空的形式:
1.什么内容都没有
ErrorMessage,ControlToValidate,Display
2.初始值没变
ErrorMessage,ControlToValidate,Display,InitialValue

二、CompareValidator:对比验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ControlToCompare:要对比的控件的ID
ValueToCompare:要对比的某个固定的值
Operator:运算符,对值进行的比较操作
Type:输入和比较的类型

两种对比的形式:
1.两个控件的值进行对比。——密码与确认密码
2.控件的值与某个固定对比。——月收入要大于0

两种对比的形式:
1.等值对比。——是否相等 。Operator=Equeal(默认)
2.不等值对比。——是否满足某个关系。Operator=GreaterThan,LessThan.....

三、RangeValidator,范围验证:
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
MaximumValue:范围上限值
MinimumValue:范围的下限值
Type:输入和验证的类型

案例:生日只能在1900-1-1 至2099-12-31之间

四、RegularExpressionValidator_正则表达式验证。
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ValidationExpression:验理证的正则表达式。

五、CustomValidator:自定义验证
ErrorMessage:验证出错时显示的错误信息
ControlToValidate:要验证的控件ID
Display:呈现模式。Static-静止,不显示也会占空间。Dynamic-动态,不显示不占空间
ClientValidationFunction :用来进行自定义验证的客户端的JS函数名(注意不要加括号)

客户端验证函数的定义
function 函数名(a,b)
{
//b.Value - 被验证控件中的值。
//b.IsValid - 告诉浏览器,验证是否通过了。true-通过了,不显示错误信息。false-没有通过,显示错误信息。
}
例子:验证素数。

六、ValidationSummary:验证汇总控件
ShowMessageBox:是否用对话框显示错误 信息
ShowSummary:是否在页面上显示错误汇总信息

几个重要的难点及解决:
1.验证分组:把输入控件、验证控件、按钮控件的ValidationGroup设成同一个值,则他们就是在一组中。

2.阻止按钮激发验证:
法一:给按钮单独分组
法二:把按钮的CauseValidation属性设为False

3.验证出错显示*,用对话框显示错误信息。

源代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ShuRuYanZheng.aspx.cs" Inherits="ShuRuYanZheng" %>

<!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>
<style type="text/css">
.auto-style1 {
height: 30px;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>

<h1>登录信息输入的验证</h1><br />

<br />
红色显示的:RequiredFieldValidator,“空”或“未改变原有值”得判断<br />
蓝色显示的:CompareValidator&nbsp;&nbsp;
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 与其他数据相比较,ControlToCompare与其他控件的之比较;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ValueToCompare与确切的值比较<br />
黄色显示的:RangeValidator&nbsp; 与某一规定范围内的比较<br />
绿色现实的:RegularExpressionValidator&nbsp;&nbsp; 与正则表达式比较<br />
<br />
<br />
<table width="70%" border="1" cellpadding="5" cellspacing="0" align="center">
<tr height="30">
<td width="20%" align="right">用户名:</td>
<td width="45%">
<asp:TextBox ID="Textname" runat="server" Width="100%"></asp:TextBox>

</td>
<td width="35%">
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="Textname" Display="Dynamic" ErrorMessage="用户名不能为空!" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">用户名2::</td>
<td width="45%">
<asp:TextBox ID="Textname2" runat="server" Width="100%">&lt;必填&gt;</asp:TextBox>
</td>
<td width="35%">
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="Textname2" Display="Dynamic" ErrorMessage="不能不填!" InitialValue="&lt;必填&gt;" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">密码:</td>
<td width="45%">
<asp:TextBox ID="Textpwd1" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="Textpwd1" Display="Dynamic" ErrorMessage="密码不能为空!" ForeColor="Red"></asp:RequiredFieldValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">确认密码:</td>
<td width="45%">
<asp:TextBox ID="Textpwd2" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="Textpwd1" ControlToValidate="Textpwd2" Display="Dynamic" ErrorMessage="确认密码输入不正确!" ForeColor="Blue"></asp:CompareValidator>
</td>
</tr>
<tr>
<td width="20%" align="right" class="auto-style1">邮箱:</td>
<td width="45%" class="auto-style1">
<asp:TextBox ID="Textemail" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%" class="auto-style1">
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Textemail" Display="Dynamic" ErrorMessage="输入邮箱不正确!" ForeColor="Green" ValidationExpression="\w+([-+.‘]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">电话号码:</td>
<td width="45%">
<asp:TextBox ID="Texttel" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="Texttel" Display="Dynamic" ErrorMessage="输入电话号码不正确" ForeColor="Green" ValidationExpression="^[1][358]\d{9}$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">身份证号:</td>
<td width="45%">
<asp:TextBox ID="Textshen" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ControlToValidate="Textshen" Display="Dynamic" ErrorMessage="身份证号码不正确!" ForeColor="Green" ValidationExpression="\d{17}[\d|X]|\d{15}"></asp:RegularExpressionValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">月收入:</td>
<td width="45%">
<asp:TextBox ID="Textmoney" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:CompareValidator ID="CompareValidator2" runat="server" ControlToValidate="Textmoney" Display="Dynamic" ErrorMessage="输入不正确!正整数大于0" ForeColor="Blue" Operator="GreaterThan" Type="Integer" ValueToCompare="0"></asp:CompareValidator>
</td>
</tr>
<tr height="30">
<td width="20%" align="right">生日:</td>
<td width="45%">
<asp:TextBox ID="Textbir" runat="server" Width="100%"></asp:TextBox>
</td>
<td width="35%">
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="Textbir" Display="Dynamic" ErrorMessage="输入时间不在规定范围内!" ForeColor="Yellow" MaximumValue="2099-12-31" MinimumValue="1800-1-1" Type="Date"></asp:RangeValidator>
</td>
</tr>
<tr height="30">
<td colspan="3" align="center">
<asp:Button ID="tijiao" runat="server" Text="提交" />
<br />
<asp:ValidationSummary ID="ValidationSummary1" runat="server" />
</td>

</tr>
</table>
</div>
</form>
</body>
</html>

自定义的验证:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="自定义验证.aspx.cs" Inherits="自定义验证" %>

<!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>
<script language="javascript">
function Sushuyanzheng(a,b)
{
var n =parseInt( b.Value);
var c = 0;
for (var i = 1; i < n; i++)
{
if (n % i == 0)
c++;
}
if (c == 1)
{ b.IsValid = true; }
else { b.IsValid = false; }

}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:CustomValidator ID="CustomValidator1" runat="server" ClientValidationFunction="Sushuyanzheng" ControlToValidate="TextBox1" Display="Dynamic" ErrorMessage="不是素数!"></asp:CustomValidator>

</div>
</form>
</body>
</html>

时间: 2024-10-06 00:17:47

C#--WEb中登录时输入各项的验证的相关文章

Exchange2013学习笔记(3)-更改outlook web app登录不用输入域名方法

我们安装好EXchange 2013后,在登录 outlook web app等时,默认是要输入 域名\用户名,如果域名不长,并且容易记的话,还OK.如果是有些长和不容易记的话,所以要登录就有些麻烦了. 还有就是每个人都是喜欢偷懒,所以能少输就一定少输入,那我们们怎么解决这问题呢?? 下面让我们来把这个方法简单的介绍下: 先登录到 https://s12.hznethome.com/ecp (https://邮件服务器全称/ecp) 选择>>服务器>>>虚拟目录>>

等价类测试——Web开发中对于用户名输入的合法性验证

问题描述:  允许1到6个英文字符或数字,按OK结束 有效等价类: 长度:1到6 字符:a-z,A-Z,0-9 无效等价类: 长度:0,7 字符:英文/数字以外字符,控制字符,标点符号 可得出: 有效等价类 无效等价类 length:1-6             length: ..-0&&7-..     char:  a-z&&A-Z&&0-9 char:    others 所采用的测试用例及结果: 测试用例                     

java web的安全约束--表单的验证

例子,表单和JDBCRealm的安全验证 参考了一篇文章http://www.cnblogs.com/dyllove98/archive/2013/07/31/3228698.html 1.要在wab.xml中进行修改,但基本和basic一样,只要修改<login-config>就可以 <login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login

在JSP中动态生成随机验证码,登录时后台校验验证码,以及如何避免同一个验证码被重复提交爆破密码

只需几步就可以生成动态随机的验证码,最终效果如下图: 一 前台显示页面login.jsp 其中验证码显示的是一张图片,链接指向的是生成验证码的servlet,同时点击图片后触发changeImg()这个js函数,使其动态生成一个新的验证码,这个函数中的参数t=Math.random()并不会参与验证码的生成,它的作用仅仅只是表示每次提交的并不是同一个请求,需要单独处理,完整的login.jsp代码如下: <%@ page language="java" contentType=&

Umbraco中的Member登录时的Lock out功能

请参看文章 https://our.umbraco.org/forum/using-umbraco-and-getting-started/76389-preventing-member-lock-out 用Umbraco开发了一个网站,其中有用户登录功能,用户是Umbraco back office中的Members, 但是想设置member登录时,如果输入错误密码次数为N次时,该member自动lock out. 默认是5次,也就是说输入5次错误密码后,该member会自动Lock out.

数字证书在WEB应用中登录

1数字证书登录认证的优点 作为企业信息系统的第一道大门,身份认证是确保企业信息资源只能被合法用户所访问的重要保障. 传统的口令认证方式虽然简单,但是由于其易受到窃听.重放等攻击的安全缺陷,使其已无法满足当前复杂网络环境下的安全认证需求. 传统账号+口令登录的弊端: 1.         口令易被猜测.由于有的用户为了方便记忆,使用非常简单的口令,比如"1234"."abcd"等这些非常容易被猜测的口令. 2.         口令易被窃听.大家都知道,WEB应用在互

【随笔】ssh登录时如何直接在参数中加入登录密码

如同apt-get安装程序时会有-y参数来避免交互输入一样,我也希望在ssh登录时能够直接附加登录密码以避免交互式输入密码这一步,网上找了找,方法很多. 比如直接通过密钥免密码登录,不过需要改动很多,感觉很麻烦.这里更想要的是不改动server/client的配置下直接免交互式ssh登录. 于是我先查看帮助: 这里没有可用参数能够附加登录密码,于是继续找办法. sshpass sshpass: 用于非交互的ssh 密码验证 ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,ssh

java系列: 在eclipse中调试时,输入的jsp或者servlet页面的地址要区分大小写

比如在当前web工程中有一个jsp页面的名字是: Welcome.jsp 在eclipse中调试时,如果在浏览器中输入: http://localhost:8080/MavenWeb/welcome.jsp 则显示如下错误,提示找不到对应的页面 而如果输入 http://localhost:8080/MavenWeb/Welcome.jsp 则可以正常显示,后续调试的时候一定要注意,之前就出现过几次,一直没在意. 来自为知笔记(Wiz)

phpmyadmin中访问时出现2002 无法登录 MySQL 服务器

phpmyadmin中访问时出现2002 无法登录 MySQL 服务器! 解决方法如下: 修改phpmyadmin目录中libraries文件夹下的config.default.php文件 $cfg['Servers'][$i]['host'] = 'localhost'; 更换成 $cfg['Servers'][$i]['host'] = '127.0.0.1'; service mysqld restart 问题解决!!