练习 3.4:验证数据

有时需要验证 Web 应用程序中输入的数据以确保该数据类型正确。例如,可以验证电话号码字段以确保用户输入的是数字而不是字母或其它字符,因为这些字符不能作为电话号码一部分。可以对字段设置最小长度和最大长度,还可以使字段成为必需字段。

在此练习中,可以对在前一个练习中创建的 UpdateSession.jsp 页面中的各字段添加基本验证。有关使用和验证 Web 页面的字段的更多信息,请参阅教程使用 EGL 代码控制 JSF 组件

编程时,最好告诉您的用户哪些字段是必需字段以及使用哪些验证规则。还应该提供指示性的错误消息以便用户知道如何提供正确的信息。

使字段成为只读字段

因为页面上的 Msg 字段是关于会话对象状态的消息,因此不想让用户编辑它。防止用户更改它的值的一种方法是将它出现在页面上的方式从输入字段更改为输出字段。在这一部分中,要通过更改它的验证选项来防止用户编辑此字段的值。

  1. 打开 UpdateSession.jsp 页面。
  2. 在 UpdateSession.jsp 页面中,单击 Msg 输入字段而不是它旁边的文本标签。此输入字段包含文本 {EGLmsg},这意味着它被绑定至 PageHandler 的 userSession 记录中的 EGL 变量 msg
  3. 在“属性”视图中,单击行为选项卡。
  4. 选择控件是只读的复选框。

使字段成为必需字段

当 Web 页面上的字段是必需字段时,只有为该字段提供了有效的值,才能提交页面。在这一部分中,使 UpdateSession.jsp 页面上的 Your name 字段成为必需字段。

  1. 单击 Your name 输入字段。
  2. 在“属性”视图中,单击验证选项卡。
  3. 选择值是必需的复选框。
  4. 选择在错误消息控件中显示验证错误消息复选框。一个错误消息控件就会出现在输入字段旁边。此字段将显示此字段中的无效信息导致的任何错误消息。

对字段设置长度和类型

在这一部分中,将对电话号码字段设置最小长度和最大长度,并且将该字段设置为只接受数字。在教程使用 EGL 代码控制 JSF 组件中,您已经学会了具体如何使用格式掩码来设置电话号码字段的验证和行为。

  1. 单击页面上的 Phone 输入字段。
  2. 在“属性”视图的验证选项卡上,将数字 7 输入到最小长度字段中。
  3. 将数字 10 输入到最大长度字段中。
  4. 约束列表中,选择仅数字
  5. 选择在错误消息控件中显示验证错误消息复选框。

对字段设置最大值和最小值

在此练习中,到目前为止,您已经使用了“属性”视图来对各输入字段设置验证选项。验证对于 EGL 代码也有效。在这一部分中,将对 EGL 记录部件定义的 age 字段设置最小值和最大值。这样编辑了记录部件之后,从该记录部件创建的每个变量都将具有那些验证规则。在此示例中,将 age 字段设置为只接受 20 与 100 之间的值。

  1. 右键单击 UpdateSession.jsp 页面,然后单击编辑页代码。将打开 UpdateSession.egl 文件。
  2. 在 UpdateSession.egl 文件中,删除以下代码行:

    age         int        {displayName = "Your age"};

  3. 在刚刚删除代码的位置,插入以下代码:

    age         int        {displayName = "Your age",
                            validValues = [[20,100]]};

  4. 保存并关闭该文件。
  5. 返回到 UpdateSession.jsp 页面。
  6. 单击 Your age 输入字段。
  7. 在“属性”视图的验证选项卡上,选择在错误消息控件中显示验证错误消息复选框。
  8. 保存该页面。

测试验证

  1. 在服务器上运行 UpdateSession.jsp 页面。
  2. 尝试将无效信息输入到各字段中,注意出现的错误消息。

继续练习 3.5:客户机端验证与服务器端验证比较

反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.