.NET之验证控件大全
来源:互联网 发布:老马说编程 编辑:程序博客网 时间:2024/05/02 01:31
1.RequiredFieldValidator:非空验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
InitialValue :要验证的字段的初始值,很少用到
2.CompareValidator:比较验证控件
主要属性:
ControlToCompare :用于进行比较的控件ID
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
Operator :对值进行比较操作,默认为Equal(=)
Type:用于比较的值的数据类型
Operator 属性
说明
Equal
所验证的输入控件的值与其他控件的值或常数值之间的相等比较。
NotEqual
所验证的输入控件的值与其他控件的值或常数值之间的不等比较。
GreaterThan
所验证的输入控件的值与其他控件的值或常数值之间的大于比较。
GreaterThanEqual
所验证的输入控件的值与其他控件的值或常数值之间的大于或等于比较。
LessThan
所验证的输入控件的值与其他控件的值或常数值之间的小于比较。
LessThanEqual
所验证的输入控件的值与其他控件的值或常数值之间的小于或等于比较。
DataTypeCheck
输入到所验证的输入控件的值与 Type属性指定的数据类型之间的数据类型比较。如果无法将该值转换为指定的数据类型,则验证失败。
如果Operator属性为DataTypeCheck,将忽略ControlToCompare 和 ValueToCompare属性,同时Type属性起作用。
Type属性说明String
指定字符串数据类型。
Integer
指定 32 位有符号整数数据类型。
Double
指定双精度浮点数数据类型。
Date
指定日期数据类型。
Currency
指定货币数据类型
3.RangeValidator:数据范围验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
MaximumValue:所验证控件的最大值
MinimumValue:所验证控件的最小值
4.RegularExpressionValidator:数据格式验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
ValidationExpression:用于确定有效性的正则表达式,系统默认提供了几个正则表达式,如果需要自己新建,就要了解正则表达式的意义,推荐一篇网摘:正则表达式整理备忘
5.ValidationSummary:验证错误信息显示控件
主要属性:
DisplayMode:摘要显示格式
ShowMessageBox:是否弹出错误的消息对话框
ShowSummary:是否显示错误摘要文本
6.CustomValidator:自定义验证控件
主要属性:
ControlToValidate :要验证的控件ID
ErrorMessage :验证的控件无效时显示的消息
ValidateEmptyText:控件文本为空时,是否验证控件
ClientValidationFunction:客户端脚本验证功能,默认为空。如希望在服务器添加验证,则使其为空并填写ServerValidate事件,如希望在客户端添加验证,则该属性值为JavaScript的function名。
主要事件:
客户端验证:ClientValidationFunction="clientv"
<script type="text/jscript">
function clientv(s,e)
{
if(e.Value=="客户端")
{
e.IsValid=true;
}
else
{
e.IsValid=false;
}
}
</script>
服务器验证:ClientValidationFunction=""
ServerValidate:调用以在服务器上执行验证;双击控件或者选用事件。
7.禁用验证控件
在特定条件下,可能需要避开验证,可以通过以下3种方式禁用数据验证:
- 在特定控件中禁用验证:将相关控件的CausesValidation属性设置为false
- 禁用验证控件:将验证控件的Enabled属性设置为false
- 禁用客户端验证:将验证控件的EnableClientScript属性设置为false
javascript 函数和 CustomValidator控件相结合使用
<asp:TextBox ID="txtPwdPrompt"runat="server"></asp:TextBox>
<asp:CustomValidatorid="CVPwdPrompt"runat="server" ClientValidationFunction="CheckPwd"ControlToValidate="txtPwdPrompt" ErrorMessage="<spanstyle='font:12px'>提示问题必须在2-50个字符内</span>"Display="None"></asp:CustomValidator>
Javascript函数:
<script language="javascript" type="text/javascript">
functionClientValidation(source,value)
{
varstr = value.Value;
varlen = 0;
for(var i=0;i<str.length;i++)
{
if(str.charCodeAt(i)<128)
len++;
else
len+=2;
}
if(len>5)
value.IsValid = true;
else
value.IsValid = false;
}
functionCheckPwd(source, arguments) {
if(arguments.Value.length > 2 && arguments.Value.length < 11)
{
arguments.IsValid = true;
alert("验证通过!");
}
else
{
arguments.IsValid = false;
alert("请输入密码的长度3到10之间!");
}
}
</script>
函数有两个参数:
source 参数是对为 CustomValidator 控件呈现的 <span> 元素的引用。因此,您可以编程的方式控制 <span> 标记,如修改 InnerHtml 属性。
arguments 参数是一个具有以下两个属性的对象:Value 和 IsValid。使用此参数可以获取控件的值,以根据自定义验证例程验证并指示该值是否有效。
使用 ClientValidationFunction 属性指定与 CustomValidator 控件关联的客户端验证脚本函数的名称。由于该脚本函数在客户端执行,因此该函数必须使用目标浏览器支持的语言(如 VBScript 或 JScript)来编写。
服务器端验证与客户端验证一样,可以通过使用 arguments 参数的 Value 属性来访问要验证的输入控件中的字符串。通过设置 arguments 参数的 IsValid 属性返回验证结果。
代码如下:
protectedvoid cvLength_ServerValidate(object source, ServerValidateEventArgsargs)
{
if(args.Value.Length > 5)
{
args.IsValid = true;
}
else
{
args.IsValid = false;
}
}
注意:Value首字母必须大写
------------------------------------------------------------------------------------------------------------------------------
CustomValidator验证控件使用
CustomValidator控件允许用户自定义验证,可以在服务器端验证,可以在客户端验证,也可以在客户端和服务端同时验证
下面的例子是验证一个数能否被2整除
1. 服务器端验证
在验证的时候会用到IsValid这个属性,根据IsValid的值(true/false)来判断是否通过页面验证。
a. 拖放控件TextBox用于输入值;Button用于测试验证状态,IsValid为true触发Click事件;CustomValidator控制要验证的对象和验证事件等。
b. 设置CustomValidator的属性这里设置ErrorMessage为Not an even number!,ControlToValidate为Text1
c. 编写CustomValidator的ServerValidation事件
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)
{
try
{
int num = int.Parse(args.Value);
args.IsValid = ((num%2)==0);
}
catch (Exception ex)
{
args.IsValid = false;
}
}
d. 编写Button的Click事件
protected void Button2_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
Response.Redirect("gouWuChe.aspx");
}
else
{
//提示
}
}
2. 客户端验证
使用javascript function验证,并用设置ClientValidationFunction为javascript 验证函数(function)
a. Javascript 函数
<script language="javascript">
function ValidateNumber(source,args)
{
if(args.Value%2==0)
{
args.IsValid=true;
}
else
{
args.IsValid=false;
}
}
</script>
b. 设置CustomValidator的属性这里设置ErrorMessage为请输入能被2整除的数,ControlToValidate为TextBox1,ClientValidationFunction为ValidateNumber
c. 编写Button的Click事件
protected void Button2_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
Response.Redirect("gouWuChe.aspx");
}
else
{
//提示
}
}
3. 客户端和服务端同时验证
将上面的两部分代码合并可以了
- .NET之验证控件大全
- .NET基础之验证控件
- ASP.NET之验证控件
- asp.net夜话之九:验证控件
- ASP.NET表单验证之CustomValidator控件
- ASP.NET表单验证之ValidationSummary控件
- asp.net夜话之九:验证控件
- ASP.NET验证控件之RequiredFieldValidator
- ASP.NET验证控件之CompareValidator
- ASP.NET验证控件之RangeValidator
- ASP.NET验证控件之RegularExpressionValidator
- ASP.NET验证控件之CustomValidator
- ASP.Net知己知彼之验证控件
- ASP.net验证控制之CustomValidator控件
- ASP.net验证控制之CustomValidator控件
- ASP.NET验证控件之RequiredFieldValidator
- Asp.net之验证控件简单总结
- ASP.NET表单验证之基本验证控件一
- rails中的request
- SQL注入式攻击的解决办法
- NPN型三极管
- flex List使用2
- Oracle中的位图索引及用法
- .NET之验证控件大全
- android开发使用TextView/EditText应该注意的地方
- autotrace显示绑定变量执行计划不准确
- PEB及PEB_LDR_DATA结构
- spring定时任务时间格式cronExpression设置
- 移植FFmpeg到android ics
- Java与C互相调用实例详解
- JMS五种消息的发送/接收的例子
- Android上dip、dp、px、sp等单位说明