快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

使用validwhen设计复杂的Struts表单验证


通过Struts 1.2提供的validwhen 验证器可以轻松的创建更加复杂灵活的表单验证。

比如说,我们要验证用户两次输入的密码是否一样,或是只有当用户填写表单项“姓氏”时,表单项“名字”才是必须的。

validwhen 需要声明一个叫test的var字段,这个变量的值是一个布尔型的表达式,比如:

    <var-name>test</var-name>    <var-value>((orderLines[].partNumber == null) or (*this* != null))</var-value>

当布尔型表达式返回true时,验证才会成功。下边是答应发入该表达式的一些元素:
单引号或双引号括起来的字符串十进制、十六进制或八进制表示的整形字面量null 表示没有输入的空串可以使用表单里的任何字段名字,如 customerAge显式引用的索引字段,如childLastName[2]隐式引用的索引字段,如childLastName[],表示使用与该字段一样的索引字面量 *this* 表示当前被验证的表单
例:

下边这段代码表示:只有当sendNewsletter字段为空,或该字段emailAddress不为空时,该字段才有效

<field property="emailAddress" depends="validwhen">      <arg0 key="userinfo.emailAddress.label"/>        <var>          <var-name>test</var-name>          <var-value>((sendNewsletter == null) or (*this* != null))</var-value>        </var>      </field>下边这个例子表示,只有相应的partNumber存在时,字段quantity才是必须的
下边这个例子表示,只有相应的partNumber存在时,字段quantity才是必须的
    <field property="quantity" indexedListProperty="orderLines" depends="validwhen">      <arg0 key="orderform.quantity.label"/>        <var>          <var-name>test</var-name>          <var-value>((orderLines[].partNumber == null) or (*this* != null))</var-value>        </var>      </field>下边这个例子表示,假如输入身高小于60英寸,则不能做nbaPointGuard
下边这个例子表示,假如输入身高小于60英寸,则不能做nbaPointGuard
    <field property="nbaPointGuard" depends="validwhen">      <arg0 key="careers.nbaPointGuard.label"/>        <var>          <var-name>test</var-name>          <var-value>((heightInInches >= 60) or (*this* == null))</var-value>        </var>      </field>






返回类别: 教程
上一教程: Java开发源缓存系统的介绍
下一教程: Java学习过程应该深入理解的一些重点

您可以阅读与"使用validwhen设计复杂的Struts表单验证"相关的教程:
· 如何扩充struts验证框架,进行多表单页面的验证
· Struts心得?DispatchAction使用日记
· Struts,MVC的一种开放源码实现用这种servlet和JSP框架治理复杂
· 使用STRUTS在框架页面中不能指定目标框架的一个解决办法
· 在struts中使用国际化(i18n)
    微笑服务 优质保证 索取样品