使用validwhen设计复杂的Struts表单验证
来源:互联网 发布:个人怎么投资理财知乎 编辑:程序博客网 时间:2024/04/28 20:06
通过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>
- 使用validwhen设计复杂的Struts表单验证
- 使用validwhen设计复杂的Struts表单验证
- (转)使用validwhen设计复杂的Struts表单验证
- (转)使用validwhen设计复杂的Struts表单验证
- struts validwhen的使用
- Struts的validwhen使用注意事项
- validwhen的使用
- 关于validwhen验证的问题
- 复杂表单的设计
- 复杂的表单客户端验证
- 复杂的表单服务器端验证
- 使用AbstractWizardFormController提交复杂表单的验证解决方案
- Struts的表单验证中
- Struts的ActionForm表单验证
- Struts的Action表单验证
- Struts的ActionForm表单验证
- 使用struts框架来做表单服务器的验证
- struts中使用token进行表单重复提交的验证
- Item 24. 成员函数的查找(Member Function Lookup )
- myEclipse 3.8.4
- 关于索引与查询的hash
- Status Report 4-14
- 关于WEBSHELL中的命令提示符没有权限提升
- 使用validwhen设计复杂的Struts表单验证
- prog-zone.net
- [原]星际争霸地图显示与网页设计
- Jboss Ejb MDB
- 為同一個事件掛上多個EVENT HANDLES處理程序!委託的使用~!
- 成功人际关系讲座视频笔记
- MSN开始日趋博客化 与雅虎、google三强争霸博客
- 金梅电影系统的注入漏洞利用程序
- 面向对象理解(1)