当前位置:首页 » 网页前端 » Web验证控件
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

Web验证控件

发布时间: 2022-08-22 13:04:12

A. 怎样让web 验证控件只对一个控件有效

把LinkButton的CausesValidation属性设置为false,验证控件就不会对该控件进行验证了。不过这个只能在ASP.NET2.0下可行。不知道您用的是哪个版本?

B. asp.net(C#web)RangeValidator验证控件,要对两个按钮中的一个不敏感

把不要激发验证的那个Button的CauseValidation属性设为False就行了

C. C#web编程 button控件在激发验证后没有触发button的click事件,怎么办。

把验证控件的优先级降到click点击事件后面,把验证事件写在点击事件里面。

D. ASP。NET中以什么方式进行数据验证

在ASP中进行表单数据验证时,通常开发者必须自己编写一套验证的规则,然后自己将这些代码拷贝到ASP代码中对表单进行验证。这样进行验证的方式实在不太方便,幸运的是,ASP.NET解决了这个问题,这就是数据验证Web控件。

数据验证控件是ASP.NET中专门用来验证表单用户输入的控件。比如, RequiredFieldValidation就是一个专门用来验证用户是否已经输入的控件,使用这个控件,可以保证用户一定输入了表单的某个表单项(比如数据输入框)。另外,ASP.NET还专门提供了以下数据验证控件:

1. RequiredFieldValidator:检查用户是否输入;

2. CompareValidator:检查两个表单输入项的输入信息是否存在某种指定关系,比如大、等于等;

3. RangeValidator:检查用户输入是否在某一指定范围;

4. RegularExpressionValidator:检查用户输入是否符合某一指定的正则表达式要求;

5. CustomValidator: 检查用户输入是否符合开发者指定的验证逻辑规则。

本文的目的不是在于讨论以上所有控件的用法,如果希望了解其他控件,可以参看:

http://samples.gotdotnet.com /quickstart /aspplus/doc /webvalidation.aspx。

CustomValidator控件概述

简单地使用前面提到的前四个数据验证控件,就可以实现我们一般开发的大部分数据表单的验证要求。然而,有时候我们需要验证一些比较复杂的表单。想象一下,我们有一个比较复杂的调查表,该调查表包含一个有很多单选按钮和多选按钮的表单,一些多选按钮和个人的爱好相对应,比如游泳、体育、阅读等,调查表希望被调查人选择自己的所有爱好。在这些选项下面,提示如下文字:“如果你提示有体育和游泳两种爱好,请选择您什么时候开始学习游泳”,在这些文字下方放置一些标识年龄段的单选按钮,这些按钮是否有效取决于我们在前面提到的多选按钮的选择情况。在以上的验证情况中,我们就要使用到CustomValidator数据验证控件。

在所有的ASP.NET数据验证控件中,都有一个“ControlToValidate”的控件属性需要设置,这个属性用来指定表单中需要验证的表单项。在CustomValidator数据验证控件中,需要做以下事情:

1. 读取需要CustomValidator验证的表单项值;

2. 执行验证操作;

3. 决定被验证表单项是否符合验证要求。

在其他内建控件中,以上步骤用户是不知道也不要理睬的,但是,在使用CustomValidator的时候,我们需要自己动手实现以上步骤。为了实现以上步骤,我们需要编写一个服务器端数据验证函数,该函数的样式如下:

Sub FunctionName(sender as Object, args as ServerValidateEventArgs)

……

End Sub

注意以上函数的args参数,它是FunctionName函数的第二个参数,这个参数有以下两个属性:

1. Value:被验证数据表单的值。

2. IsValid:验证是否通过。如果通过,IsValid的值是True; 如果没有通过,其值为False。

在使用CustomValidator的时候,我们不但要设置“ControlToValidate”属性,我们还必须设置OnServerValidate事件来处理服务器端的数据验证动作。

建立一个简单的

CustomValidator控件

假设现在建立一个与数学有关的网站,在这个网站,我们要求浏览者提供自己喜欢的质数,以此来提高我们网站的访问量。在ASP.NET中,没有一个现成的可以专门验证质数的服务器端数据验证控件,这样,我们就有必要用到CustomValidator控件。

以下例子用来验证用户输入的数是不是质数。在这个表单中,有一个用户输入数据的TextBox控件和一个Button控件,还有用于验证是不是质数的CustomValidator控件,和两个用于保证用户输入为正数的CompareValidator控件。

< script language=“vb” runat=“server” >

Sub btnSubmit_Click(sender as Object, e as EventArgs)

If Page.IsValid then

Response.Write(“< font color=““red””>

< i>”& txtPrimeNumber.Text & “is, indeed, a good prime number.

< /i>< /font>”)

Else

Response.Write(“< font color=““red””>

< i>” & txtPrimeNumber.Text & “is < b>not< /b>

a prime number.< /i>< /font>”)

End If

End Sub

Sub PrimeNumberCheck(sender as Object, args as

ServerValidateEventArgs)

Dim iPrime as Integer = Cint(args.Value),

iLoop as Integer, iSqrt as Integer = CInt(Math.Sqrt(iPrime))

For iLoop = 2 to iSqrt

If iPrime mod iLoop = 0 then

args.IsValid = False

Exit Sub

End If

Next

args.IsValid = True

End Sub

< /script>

< form method=“post” runat=“server”>

Enter your favorite prime number:

< asp:textbox id=“txtPrimeNumber” runat=“server” />

< %-- 建立CustomValidator 控件 --%>

< asp:CustomValidator runat=“server”

id=“custPrimeCheck”

ControlToValidate=“txtPrimeNumber”

OnServerValidate=“PrimeNumberCheck”

ErrorMessage=“Invalid Prime Number”/>

< %-- 建立两个CompareValidator控件:第一个保证输入为数字;

第二个保证输入为正数 --%>

< asp:CompareValidator runat=“server”

id=“compPrimeNumber”Operator=“DataTypeCheck”

Type=“Integer”

Display=“Dynamic” ControlToValidate=

“txtPrimeNumber”ErrorMessage =

“You must enter an integer value.”/>

< asp:CompareValidator runat=“server”

id=“compPrimeNumberPositive”Operator=“GreaterThan”

Type=“Integer”

Display=“Dynamic” ValueToCompare=“0”

ControlToValidate=“txtPrimeNumber”

ErrorMessage =“You must enter a value

greater than zero.”/>

< p>< asp:button id=“btnSubmit” runat=

“server”OnClick=“btnSubmit_Click” Text=“Submit” />

< /form>

如果对判定质数不是太熟悉,可能对于以上的PrimeNumberCheck 事件处理感觉比较迷惑。首先,将用户在txtPrimeNumber输入的数据通过事件的args.value传送给txtPrimeNumber,然后,将用户的输入开平方根,再将用户输入的数字除以从2到刚才算出的平方根之间的每一个数字。如果出现结果为零的情况,说明用户输入的数字不是质数,设置 args.isValid为False; 如果全部为零,说明用户输入合法,设置args.isValid为True。

客户端验证

ASP.NET内建数据验证控件的一大特点就是它们的所有验证都是在客户端进行的,不需经过服务器端,而CustomValidator控件的错误验证完全是通过服务器端实现的。必须意识到的一点是,不管是否通过客户端实现数据验证,服务器端的数据验证是一定会产生的。增加客户端验证的功能,只是让我们的数据验证控件更加友好。

为了实现客户端验证的功能,我们必须使用JavaScript或者VBScript写一个脚本函数,因为VBScript只支持IE浏览器,因此,这里我们采用JavaScript来编写这个函数:

< script language=“JavaScript” >

< !--

function CheckPrime(sender, args)

{ var iPrime = parseInt(args.Value);

var iSqrt = parseInt(Math.sqrt(iPrime));

for (var iLoop=2; iLoop< =iSqrt; iLoop++)

if (iPrime % iLoop == 0)

{ args.IsValid = false;

return;

}

args.IsValid = true;

}

// -->

< /script >

在这个例子里面,我们输入数字6,然后按“Tab”按钮。在高版本的浏览器里面,我们将看到来自CustomValidator控件的错误信息,这样,我们的CustomValidator控件也就有了客户端验证功能。在以上代码中,可能已经注意到我们并没有定义数据sender和args的类型,因为在脚本语言中,是没有严格的数据类型定义的。

为了实现客户端数据验证,惟一要做的就是在CustomValidator控件定义中加入以下语句:ClientValidationFunction=“CheckPrime”,这里,其实就是指定自定义验证控件的客户端验证函数。在这个例子里,前面定义的“CheckPrime”函数就是客户端验证函数。

总结
上面我们介绍了ASP.NET中几乎是功能最灵活的数据验证控件CustomValidator的使用,介绍了CustomValidator控件的服务器端验证和客户端验证的实现。尽管在实际的开发工作中,可能我们使用ASP.NET的内置数据验证控件几乎完全可以满足我们的开发要求,但是若能了解CustomValidator控件的使用和特点将会更有利于解决在工作中碰到的数据验证问题。

E. C#使用VS2012编写WEB程序,验证控件文言如何显示

是这样的,你这个肯定是要验证对方填写的必须是邮件格式吧?

你是在哪里写的验证邮件格式的正则表达式呢?

首先你不应该用RequiredFieldValidator,这个控件是验证非空的。

应该用用RegularExpressionValidator,这个是验证正则表达式的。

我有个类似的东西你可以借鉴一下:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="sqrq" Display="Dynamic"
ErrorMessage="只能输入数字!" ForeColor="Red"
ValidationExpression="[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]"></asp:RegularExpressionValidator>

在ValidationExpression这里面写上邮件格式的正则表达式即可。

F. 举例说明几个第三方控件,以验证码控件为例简述如何使用第三方控件

你用ASP.NET吗??
日期控件、验证码控件、添加水印控件、编辑器等等

一:先添加引用FredCK.FCKeditorV2.dll

二:工具箱--选项卡-添加FredCK.FCKeditorV2.dll

三:在web.config中添加:

<appSettings >
<add key="FCKeditor:BasePath" value="~/FCKeditor/"/>
<add key="FCKeditor:UserFilesPath" value="/fcke/UserFiles/"/>

</appSettings>

fcke为项目名称,UserFiles为项目下的一个空文件夹,一定要创建。

四:现在需要修改刚才复制的文件夹FCKeditor里面的一个fckconfig.js 文件

var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php

把asp修改成aspx 一定要修改

五:在web.config中有时添加 <compilation debug="true">,在使用页面中加入
page中加入 ValidateRequest ="false"

五:获取FredCK.FCKeditorV2的值
lable1.text= FCKeditor1 .value

G. ASP.NET网页制作中验证控件的使用

在页面里面加上<form runat=server></form>就行了

axd是asp.net的资源文件
里面放的JS css 图片等等东西
不过必须有页面上有服务端的form才会添加进来

H. web服务器控件从类型上划分,主要可划分为哪4大类

标准控件,验证控件,用户自定义控件,数据库控件

I. 在web服务器验证控件与被验证的控件之间是通过什么属性进行关联的

在web服务器验证控件与被验证的控件之间是通过ControlToValidate属性进行关联的