通过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`: 当满足特定条件时,字段才有效。 - `minlength`和`maxlength`: 检查字段长度是否在指定范围内。 - `mask`: 验证输入是否匹配预设的正则表达式。 - `byte`, `short`, `integer`, `long`, `float`, `...
3. **validwhen(条件有效性验证)** - **命令说明**:此命令用于在特定条件下检查字段的有效性。与`requiredif`类似,但更侧重于验证值的有效性而非空性。 - **应用场景**: - 当某个字段的合法性取决于另一个...
buct计算机系统综合设计课设
"半桥LLC谐振变换器:开环、闭环仿真设计与参数详解报告——含32页说明文档与Simulink模型",半桥LLC谐振变器开环+闭环仿真设计资料 附带一份32页配套说明文档详细参数设计、原理说明、仿真分析 开环、闭环、闭环+软启动三个Simulink仿真模型, 附带了配套设计说明报告,给出了谐振槽谐振元件参数的设计步骤,并对参数进行了完整设计。 可以参考说明文档设计不同功率等级的LLC谐振变器 ,半桥LLC谐振变换器; 开环仿真设计; 闭环仿真设计; 软启动仿真模型; 设计说明报告; 谐振槽谐振元件参数设计步骤。,"LLC谐振变换器:开环闭环仿真设计资料及详细参数说明"
证书_00008030-001079D21A53402E.zip
深入探索Comsol SOFC:固体氧化物燃料电池的仿真与性能分析(涉及温度场、气体分布及曲线表现),Comsol sofc固体氧化物燃料电池仿真(温度场分布,气体分布,极化曲线,性能曲线) ,Comsol; SOFC; 固体氧化物燃料电池; 仿真; 温度场分布; 气体分布; 极化曲线; 性能曲线,Comsol SOFC仿真:温度场与气体分布分析的极化性能曲线
学生竞赛管理系统 免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1jKDjYrEz1 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
deepseek最新技术文档中英文对照版
COMSOL模拟下的激光热致等离子体作用模型探究,Comsol模拟激光热致等离子体模型 ,Comsol模拟; 激光热致等离子体模型; 模型模拟。,Comsol模拟激光热等离子体模型
冲压成形虚拟仿 真实验系统构建与关键技术研究.pdf
Firefox浏览器page_assist-1.4.4离线插件,deepseep大模型一起用的WEBUI插件
《基于Comsol仿真的热光伏电池(TPV)研究》,comsol仿真:热光伏电池(TPV) #comsol仿真 ,comsol仿真;热光伏电池(TPV);光伏模拟,"Comsol仿真技术在热光伏电池(TPV)领域的应用"
"COMSOL有限元仿真模型:三相变压器多物理耦合模型中的电磁-声-结构力分析,涉及应力、磁密及声场多维研究",COMSOL有限元仿真模型,三相变压器电磁-声-结构力多物理耦合模型,应力分析,磁密分析,声场分析 ,核心关键词:COMSOL有限元仿真模型; 三相变压器; 电磁-声-结构力多物理耦合模型; 应力分析; 磁密分析; 声场分析; 关键词以分号分隔为:COMSOL有限元仿真模型;三相变压器;电磁耦合模型;声-结构力耦合模型;应力分析;磁密分析;声场分析。,有限元模型下的电磁-声-结构多物理耦合仿真研究
"灰狼算法驱动的MPPT跟踪:光照突变情况下的部分遮阴处理与波形图分析",灰狼算法实现部分遮阴的MPPT跟踪,包括光照突变情况,包括灰狼算法程序和matlab simulink模型的搭建,功率,电压,电流波形图和占空比波形图入如下。 ,核心关键词:灰狼算法; MPPT跟踪; 光照突变; 程序实现; MATLAB Simulink模型; 功率波形图; 电压波形图; 电流波形图; 占空比波形图。,灰狼算法MPPT跟踪与Simulink模型搭建
"BLDC无刷直流电机双闭环矢量控制仿真研究与实践:模型构建、性能验证与学习资源",BLDC无刷直流电机双闭环矢量控制仿真 仿真为BLDC无刷直流电机的双闭环控制,仿真配套的说明文档详细的描述的每个模块的搭建以及作用。 适合学习BLDC的同学使用学习。 仿真通过对给定转速的突变验证双闭环控制的性能,结果表明,控制相应速度快,转速跟踪稳定,能完美实现功能。 文件包括: [1]仿真模型 [2]详细说明文档 [3]相关参考文献 ,BLDC无刷直流电机;双闭环矢量控制;仿真;模块搭建;性能验证;学习;控制响应速度;转速跟踪稳定。,"BLDC无刷直流电机双闭环矢量控制仿真研究报告"
EB-PVD设备灯丝加热电源的研制.pdf
国外人形机器人技术前沿及产业发展形势研判.pdf
基于comsol技术的冻土路基水热耦合研究,comsol冻土路基水热耦合。 ,comsol; 冻土; 路基; 水热耦合,"水热耦合下的comsol冻土路基研究"
COMSOL模拟光子晶体六边形晶格结构:第一布里渊区能带简述,COMSOL光子晶体六边形晶格简约第一布里渊区能带 ,COMSOL;光子晶体;六边形晶格;简约;第一布里渊区;能带,光子晶体六边形晶格的能带研究
基于英飞凌XMC4500的永磁伺服电机液压伺服驱动器方案——高效稳定的注塑机控制解决方案,液压伺服驱动器,英飞凌XMC4500方案,为永磁伺服电机(PMSM)而开发的液压伺服方案,采用高性能的矢量控制技术,配置了针对注塑机驱动过程中的工艺过程动作特性的优化,如注塑速度、压力保持精度控制,以及与注塑机控制器配合工作时的平稳性控制,同时还具备后台软件监控、通讯总线功能,支持多种编码器类型,组合功能丰富强大,性能稳定。 此方案主要应用于塑料成型、管材挤出、制鞋、橡胶、金属压铸等行业,油压控制性能进一步提升、压力和速度响应更快,稳态压力波动更小,体积更小。 驱动板、键盘板、PG卡等)源文件,资料非常详细完整 ,液压伺服驱动器; 英飞凌XMC4500方案; 永磁伺服电机PMSM; 矢量控制技术; 注塑机驱动工艺; 速度压力控制; 通讯总线功能; 编码器类型; 塑料成型; 管材挤出; 制鞋; 橡胶; 金属压铸; 油压控制性能; 体积小。,"英飞凌XMC4500永磁伺服液压驱动方案:多行业应用的高效稳定驱动器"