搜索|收藏|地图|订阅|图片|论坛|商城

ASP.NET教程第三讲 输入验证控件

来源:eNet硅谷动力 编辑:xuqingzhong 时间:2008-05-23

3.5 实例说明上面所描述的控件的运作

  我们建立一个最小化的.aspx页面,我们不需要华丽的修饰效果。

<p>请输入新的用户 ID 和口令</p>
<form runat=server>
<table>
 <tr>
  <td>用户 ID </td>
  <td><input type=text runat=server id=txtName></td>
 </tr>
 <tr>
  <td>口令 </td>
  <td><input type=password runat=server id=txtPWord></td>
 </tr>
 <tr>
  <td>请重新输入口令 </td>
  <td><input type=password runat=server id=txtRePWord></td>
 </tr>
<table><br>
<input type=submit runat=server id=cmdSubmit value=Submit>
</form>


  程序是一个非常苛刻的东西,所以,要强调所有的项目都填写了,我们可以这样来做。在每一个字段前添加 RequiredFieldValidator。若输入字段为空,我们要在字段前显示一个星号(*),并在旁边报告错误。
例如:

<tr>
 <td>
  <asp:RequiredFieldValidator runat=server
     ControlToValidate=txtName
     ErrorMessage="需要用户用户名。"> *
  </asp:RequiredFieldValidator>
 </td>
 <td>User ID:</td>
 <td><input type=text runat=server id=txtName></td>
</tr>

若没有输入任何内容,则在标签旁边显示 "*"。出现出错消息。"ControlToValidate"属性指定了需要验证的控件ID。最后一步是向页面顶部显示所有的出错现象。

  代码:

<asp:ValidationSummary runat=server headerText=此页有错误:/>


  然后,我们需要用户ID必须是6-10个字符,口令必须是4-12个字母,而且必须有@#$%^&*/的字符。

  代码: 这里我们增加了对ID长度的限制。

<td>
 <input type=text runat=server id=txtName>
 <asp:RegularExpressionValidator runat=server
    ControlToValidate="txtName"
    ErrorMesage="口令必须由 6-10 个字母组成。"
    ValidationExpression="{6,10}" />
</td>

  接着,我们要验证两次输入的口令是否一样。

3.6 几个需要注意的问题

  关于脚本库

  因为验证 Web 控件脚本在脚本库中,所以不必将所有客户端验证的代码直接发送到页面中,尽管表面上似乎是这样做的。主要的脚本文件引用类似如下所示:

<script language="javascript"
    src="/_aspx/1.0.9999/script/WebUIValidation.js">
</script>

  默认情况下,脚本文件将安装在 "_aspx" 目录中默认的根目录下,并使用相对于根的脚本 include 指令调用,该指令以正斜线开头。该引用表明每个单独的对象不必包含脚本库,同一台计算机上的所有页面可以引用同一个文件。您会注意到,该路径中还有一个公用的语言运行时版本号,以便不同的运行时版本可以在同一台计算机上运行。

  如果查看一下您默认的虚拟根目录,您会找到该文件并查看其中的内容。这些文件的位置在 config.web 文件中指定。config.web 文件是一个用于大多数 ASP 设置的 XML 文件。以下是该文件中位置的定义:

<webcontrols
  clientscriptslocation="/_aspx/{0}/script/"
/>


  鼓励您阅读该脚本,以便深入了解发生的事件。不过,建议您不要修改这些脚本,因为它们的功能与特定的运行时版本紧密相连。在运行时版本更新时,这些脚本可能也需要相应的更新,您将或者放弃更改,或者面临脚本不工作的问题。如果特定项目必须更改这些脚本,先备份这些脚本,然后将您的项目指向备份文件,方法是使用私有的 config.web 文件替代这些文件的位置。如果字符串中包含格式指令 "{0}",运行时版本号将替换该指令。最好将该位置更改为一个相对引用或绝对引用。

上一篇:剖析ASP.NET2.0站点导航功能之建立导航
下一篇:没有了
最新评论共有 1 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?