使用Web窗体中的验证控件

来源:互联网 发布:凭淘宝账号贷款 编辑:程序博客网 时间:2024/04/30 18:31
  在一个网络软件中,经常要保证用户输入的信息有效。过去,这一事情得由软件工程师自已编程实现。现在这一事情有了更轻松的解决方法,通过微软的.net中专门的验证控件,我们只需设置属性就可以检查必需的项、数据类型、范围、模式和特定的值。而且,这些控件自动执行检查并以多种方式向用户显示错误信息。
  在下面的这个示例的Web页中,允许用户输入用户名、出生日期、密码等,我们的工作是如何确保用户向所有的文本框都输入了正确的值。
  这个示例可分成以下若干过程:
  ·通过创建项目、Web窗体页、添加输入控件和标签来创建基本的窗体。
  ·添加验证控件。我们将验证是否输入了必需的项、用户是否输入了有效的用户名、日期以及匹配的密码。
  ·进行测试。
  1创建基本的窗体
  可以从创建带有输入控件的窗体开始。
  创建项目和窗体
  下面首先创建一个新的Web应用程序项目和Web窗体页,以便向该窗体添加验证控件。
  1.执行“文件”|“新建”|“项目”命令,弹出“新建项目”对话框。
  2.在“新建项目”对话框中,执行以下操作:
  ·在“项目类型”窗格中选择“VisualC#项目”。
  ·在“模板”窗格中选择“ASP.NETWeb应用程序”。
  ·在“位置”文本框中,输入完整的URL(包含http://、服务器名称和项目名称)。
  3.单击“确定”按钮,创建新的Web窗体项目。名为WebForm1.aspx的新Web窗体页将显示在“设计”视图中Web窗体设计器上。
 4.如果该页尚未处于网格模式,可使用“属性”窗口将文档对象的pageLayout属性设置为GridLayout。
  添加输入控件
  1.从工具箱的“Web窗体”选项卡,将下面的控件添加到窗体中,它们的ID属性设置如下表所示:
  控件用途标识
  TextBox输入用户名txtName
  TextBox输入出生日期txtBirthdate
  TextBox输入密码txtPassword
  TextBox重复输入密码进行确认txtPasswordAgain
  Button提交窗体btnRegister
  将Button的Text属性设置为“注册”。
  2.将两个密码框的TextMode属性设置为Password,当用户输入密码时,它们显示星号(*)。
  3.在文本框前面添加标签以指示其功能。如果Web窗体页处于网格模式,则在每个文本框的前面添加Label控件并设置它们的Text属性。如果该页处于流模式,则只要在每个框之前输入静态文本即可。
  4.根据需要调整字体、大小和控件的布局。
  2添加验证控件
  在这一过程,我们将要完成如下一些验证:
  ·必需的字段。确保用户向四个文本框都输入了值。
  ·名称格式。如E-mail的格式应该形如:freee@yspc.com。
  ·日期格式。验证用户输入的出生日期是否有效。
  ·密码匹配。验证用户在两个密码框中提供的密码是否匹配。
  检查是否输入了必需的字段
  我们首先要验证的是,用户在所有四个文本框中都输入了值。
  1.从工具箱的“Web窗体”选项卡中,将一个RequiredFieldValidator控件拖到窗体上,放在“txtName”文本框旁边。
  2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
  属性设置
  ControlToValidatetxtName 这指示验证程序将检查名称字段的内容
  Text*(星号) 这是将显示在验证程序控件当前所在位置的文本。(通常在包含错误的输入框旁边放置一个红色的星号。)
  ErrorMessageEmailnameisrequired 该文本将显示在页上的摘要中
  3.如果愿意,我们可以设置验证控件的字体、颜色和格式设置属性。
  4.为其他三个文本框重复步骤1到步骤3,再创建三个RequiredFieldValidation控件,属性设置如下表所示:
  控件属性设置
  RequiredFieldValidator2ControlToValidate设置为txtBirthdateText*
  ErrorMessageYoumustenterabirthdate
  RequiredFieldValidator3ControlToValidate设置为txtPasswordText*
  ErrorMessageYoumustenterapassword
  RequiredFieldValidator4ControlToValidate设置为txtPasswordAgainText*
  ErrorMessageRe-enterthepasswordtoconfirmit
  检查名称格式
  假定以输入电子邮件地址作为注册名,那么注册名就应该是一个典型的电子邮件地址格式(例如freee@yspc.com)。因此我们可以捕捉用户常犯的输入错误,例如忘记输入电子邮件地址的“.com”部分。
  1.从工具箱的“Web窗体”选项卡中,将一个RegularExpressionValidator控件拖到“txtName”框旁边。
  2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
  属性设置
  ControlToValidateTxtName Text*(星号)
  ErrorMessageNamemustbeintheformatname@domain.xxx
  ValidationExpression从列表中选择“Interne电子邮件地址”。请注意,这会将属性值设置为正则表达式检查日期格式对于用户输入的日期也可进行验证,验证的原则是:用户输入的是不是日期并且比较该日期是否晚于指定的最小日期(ValueToCompare)。
  1.从工具箱的“Web窗体”选项卡中,将一个CompareValidator控件拖到“txtBirthdate”框旁边。
  2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
  属性设置
  ControlToValidateTxtBirthdate Text*(星号)
  ErrorMessageBirthdateisnotavaliddate
  ValueToCompare1900/01/01(或任何其他最小日期)
  OperatorGreaterThan
  TypeDate
  DisplayDynamic
  注意:以格式yyyy/mm/dd输入要进行比较的日期;这样可确保对于所有区域性设置都将正确地解释它。用户输入日期时,对于月份必须仅使用数字。
  检查密码是否匹配
  程序将会核对用户前后两次所输入的密码是一致的,因此第一个密码框中输入的内容将比较一个字段(第二个密码框)的值。
  1.从工具箱的“Web窗体”选项卡中,将一个CompareValidator控件拖到“txtPasswordAgain”框的旁边。
  2.选择验证控件,并在“属性”窗口中设置属性如下表所示:
  属性设置
  ControlToValidateTxtPasswordAgain Text*(星号)
  ErrorMessageThepasswordsdonotmatch
  ControlToCompareTxtPassword
  OperatorEqual
  DisplayDynamic
  显示验证错误
  为了显示有关验证错误的详细信息,需要执行以下操作:
  1.从工具箱的“Web窗体”选项卡中,将一个ValidationSummary控件拖到窗体上。将
  该控件放置在某个位置上,在该位置,该控件具有空间来显示几行文本。
  2.如果要显示特殊错误,则为DisplayMode属性选择其他显示选项。
  3.设置Font和ForeColor属性对错误信息文本的显示格式。
  添加验证控件的操作已完成。现在可以测试它们的运行情况。
  3测试验证控件
  1.在解决方案资源管理器中,右击Web窗体页并选择“在浏览器中查看”命令。
  2.当显示页时,将不同的值输入框中。若要检查出生日期,请输入一个对Web服务器的区域设置无效的日期。每次输入错误,都应该在包含错误的框旁边显示一个星号。
  3.单击“注册”按钮。如果有任何错误,错误信息文本就会显示在摘要控件中。(随着对字段的操作,红色的星号会随时出现和消失。)如果看不到预想的错误结果,就要检查每个验证控件的设置,然后重试。
原创粉丝点击