如何使用 ASP.NET 验证控件从 Visual Basic.net 或 Visual Basic 2005

文章翻译 文章翻译
文章编号: 316662 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

.NET 框架包含的各种验证的控件,当置于的 ASP.NET Web 窗体页时验证输入到控件的字段和为每个控件相关联的显示错误消息的用户输入。这篇文章解释了如何使用 ASP.NET 验证控件来快速、 方便地实现客户端和服务器端验证用户输入。

要求

下面的列表概述了建议的硬件、 软件、 网络的基础结构和所需的服务包:
  • visual Studio.net 或 Visual Studio 2005
  • Microsoft Internet 信息服务器 (IIS) 5.0 或更高版本
本文假定您熟悉下列主题:
  • web 应用程序
  • ASP.NET

使用 Visual Studio.net 中的 ASP.NET 验证控件

验证用户输入可能是一繁琐的任务。.NET Framework 提供了验证控件,用于验证用户输入,并在验证控件中每当遇到无效数据时显示相应的错误消息。当您需要复制该验证在客户端和服务器上的时,这将成为一个大时间的保护程序。此外,ValidationSummary 控件可用于在屏幕上的一个区域中显示页的所有错误消息。

以下步骤创建一个 ASP.NET Web 应用程序,它将提示用户输入用户名、 电子邮件地址和密码。当用户提交请求的信息时, 在窗体上的验证控件验证用户输入的数据,并显示在屏幕的底部汇总列表中的任何错误消息。
  1. 启动 Visual Studio.net 或 Visual Studio 2005。
  2. 在 Visual Basic.net 中或 Visual Basic 2005 中,请创建一个新的 ASP.NET Web 应用程序项目。
  3. 切换到该 WebForm1.aspx 的 HTML 视图窗口。
  4. 将输入的控件和相关联的消息 (提示) 添加到您的窗体要求用户输入。WebForm1 HTML 窗口中复制并粘贴以下代码打开和关闭窗体标记之间。

    : 当您将代码粘贴到 HTML 窗口中时,很重要将代码段粘贴为 HTML。若要这样做快捷菜单上选择 粘贴为 HTML
    <table>
    <tr width=100>
    <td>UserName:</td>
    <td><input id=txtUserName type=text size=20 maxlength=15 runat=server/>*
    </td>
    </tr>
    
    <tr width=100>
    <td>E-mail Address:
    <td><input id=txtEmail type=text size=35 maxlength=30 runat=server/>  (someone@microsoft.com)
    </td>
    </tr>
    
    <tr width=100>
    <td>Password:</td>
    <td><input id=txtPassword type=password size=15 maxlength=10 runat=server/>*
    </td>
    </tr>
    
    <tr width=100>
    <td>Retype Password:</td>
    <td><input id=txtConfirmPassword type=password size=15 maxlength=10 runat=server/>*
    </td>
    </tr>
    </table>
    					
  5. RequiredFieldValidator 控件验证为控件指定该字段已输入某个值。将 RequiredFieldValidator 控件添加到您的窗体的 用户名密码 字段中。

    在 WebForm1 HTML 窗口中复制和粘贴下面的代码之后将</table> 标记:
    <asp:RequiredFieldValidator id=valUserNameRequired 
    ControlToValidate=txtUserName ErrorMessage="UserName is a required field." EnableClientScript=true Display=None Runat=server/>
    		<asp:RequiredFieldValidator id=valPasswordRequired 
    ControlToValidate=txtPassword ErrorMessage="Password is a required field." EnableClientScript=true Display=None Runat=server/>
    		<asp:RequiredFieldValidator id=valConfirmPasswordRequired 
    ControlToValidate=txtConfirmPassword ErrorMessage="Password confirmation is a required field."
    EnableClientScript=true Display=None Runat=server/>
    					
  6. 密码字段通常验证通过强制用户键入同一密码两次。CompareValidator 控件比较两个输入字段的内容,并生成一条错误消息,如果它们不匹配。验证密码字段中使用 CompareValidator 控件。

    在 WebForm1 HTML 窗口中复制和粘贴下面的代码,在第 5 步中添加验证控件后:
    <asp:CompareValidator id=valComparePassword 
    ControlToValidate=txtConfirmPassword ErrorMessage="Password fields must match." ControlToCompare=txtPassword Display=None
    EnableClientScript=true Runat=server/>
    					
  7. 有有时要求更多自定义的验证,如电子邮件地址域的域。RegularExpressionValidator 控件可确保的基本格式 someone @ microsoft.com 的后面。该字段的内容对一个正则表达式进行测试,如果没有匹配项,为表达式由,用户将收到一条错误消息。 添加 RegularExpressionValidator 控件来验证的用户提供的电子邮件地址格式。

    在 WebForm1 HTML 窗口中复制并粘贴在前面的验证控件后的下面的代码:
    <asp:RegularExpressionValidator ID=valEmailAddress
    ControlToValidate=txtEmail	ValidationExpression=".*@.*\..*" ErrorMessage="Email address is invalid." 
    Display=None EnableClientScript=true Runat=server/>
    					
  8. 添加 提交 按钮以允许用户提交到服务器页,并验证窗体上控件的内容。

    在 WebForm1 HTML 窗口中复制并粘贴在前面的验证控件后的下面的代码:
    <br>
    <input type=submit id=cmdSumbit value=submit runat=server/>
    					
  9. 最后,ValidationSummary 控件用于在窗体的单个区域中显示所有遇到的错误。

    在 WebForm1 HTML 窗口中复制,并将以下代码粘贴到 提交 按钮的代码之后:
    <br><br>
    <asp:ValidationSummary id=ValSummary HeaderText="The following 
    errors were found:" ShowSummary=True DisplayMode=List Runat=server/>
    					
  10. 单击 保存
  11. 调试 菜单上单击 $ 开始 以生成并运行该应用程序。

    在屏幕上显示 Form1。

验证

  • 如果用户未输入任何输入的值的情况下单击 提交,应显示三个所需字段错误消息。
  • 如果在用户提交不匹配的两个密码值,应显示"密码字段必须匹配"错误消息。
  • 如果在用户提交不符合格式正确的电子邮件地址,应显示"电子邮件地址是无效错误消息。

参考

有关详细信息和与验证控件相关的资源浏览到下面的 MSDN 网站:
验证控件介绍
http://msdn2.microsoft.com/en-us/library/2e4hd649.aspx

验证服务器控件
http://msdn2.microsoft.com/en-us/library/e5a8xz39(VS.71).aspx

添加和配置 ValidationSummary 控件
http://msdn2.microsoft.com/en-gb/library/wze2wh7t(VS.71).aspx

属性

文章编号: 316662 - 最后修改: 2007年2月12日 - 修订: 4.3
这篇文章中的信息适用于:
  • Microsoft ASP.NET 1.0
  • Microsoft Visual .NET 2002 标准版
  • Microsoft Visual Studio .NET 2002 专业版
  • Microsoft Visual Studio .NET 2002 企业级结构设计版
  • Microsoft Visual Studio .NET 2002 企业级开发版
  • Microsoft Visual Studio .NET 2002 Academic Edition
  • Microsoft Visual Basic .NET 2003 标准版
  • Microsoft Visual Basic 2005
  • Microsoft Visual Studio .NET 2003 Academic Edition
  • Microsoft Visual Studio .NET 2003 Enterprise Architect
  • Microsoft Visual Studio .NET 2003 Enterprise Developer
  • Microsoft Visual Studio .NET 2003 Professional Edition
  • Microsoft Visual Studio 2005 Professional
  • Microsoft Visual Studio 2005 Standard Edition
关键字:?
kbmt kbvs2005applies kbvs2005swept kbhowtomaster kbinfo kbvalidation KB316662 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 316662
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com