Struts1.x系列教程(12):Validator验证框架的内置标准验证

简介:

下面列出了Validator 框架的预定义验证(Struts 的版本号为1.2.9 )。
Validator
变量
引发条件
required

字段只有空格
validwhen
test
test 条件失败(详见下一节)
minlength
minlength
字段的字符数小于minlength
maxlength
maxlength
字段的字符数大于maxlength
mask
mask
字段值不匹配mask 所指的个正则表达式
byte short integer long float double

字段值无法转换为这些数据类型
date
datePattern 
datePatternStrict
字值值不能按着指定的格式转换为日期类型
intRange floatRange doubleRange
min max
字段值不在指定的范围内
creditCard

字段值不是一个信誉卡号
email

字段值不是一个合法的email
url
allowallschemes
allow2slashes
nofragments
schemes
字段不是一个URL
关于Validator 框架标准验证的详细信息,读者可以访问如下的URL    
    下面来举一个validwhen验证的例子。
    validwhen可以验证当前属性和其他属性的关系,如在验证密码时,要保证两次输入的密码一致,验证代码如下:

< field  property ="password1"  depends ="validwhen" >
    < msg  name ="validwhen"  key ="error.password1.confirmation"   />
    
< var >
        
< var-name > test </ var-name >
        
< var-value >
            (password1!= null) and (*this* == password)
        
</ var-value >
    
</ var >
</ field >

    使用validwhen也可以验证嵌套和索引属性,如下面的代码所示:

< field  property ="field1"  depends ="validwhen" >
    < msg  name ="validwhen"  key ="error.field.message"   />
    
< var >
        
< var-name > test </ var-name >
        
< var-value >
            (*this* == field2.name) and (*this* != field3[1])
        
</ var-value >
    
</ var >
</ field >

     其中*this* 表示当前属性的值。




 本文转自 androidguy 51CTO博客,原文链接:http://blog.51cto.com/androidguy/215185,如需转载请自行联系原作者

相关文章
|
JavaScript 前端开发 开发者
正则表达式深度解析:斜杠的妙用
【2月更文挑战第29天】
1998 0
正则表达式深度解析:斜杠的妙用
|
自然语言处理 NoSQL Redis
短链平台设计
一种生产环境可用的短链生成方法,将长度较长、难以识别的长链转换成长度可控的短链,点击短链再跳转回长链的方法
546 0
|
3月前
|
人工智能 安全 语音技术
幼师必备AI教学神器:AI大模型赋能幼儿园课堂
输入幼儿年龄、性别、个案情况概述等关键内容,一键快速生成五大领域评价、幼儿发展评价、幼儿区域活动评价、幼儿游戏评价等评价内容,助力教师高效科学开展幼儿评价工作。
|
10月前
|
人工智能 运维 安全
科技云报到:数字化转型,从不确定性到确定性的关键路径
科技云报到:数字化转型,从不确定性到确定性的关键路径
143 6
|
SQL Java 数据库连接
【Java】已解决java.sql.SQLRecoverableException异常
【Java】已解决java.sql.SQLRecoverableException异常
1790 0
|
自然语言处理 Java
Antlr实现任意四则运算表达式求值
上面语法就是四则运算的巴科斯范式定义(EBNF),可能对初学者有点难理解,其实就是一个递归定义,一个表达式可能是有多个子表达式构成,但子表达式的尽头一定是数字。 antlr可以用EBNF所定义的规则,将某个输入串解析为一颗抽象语法树(AST)。我们以表达式((3+3)*(1+4))/(5-3) 为例
304 0
|
Oracle 关系型数据库
oracle 函数 regexp_substr()
oracle函数regexp_substr,测试使用
768 0
|
存储 前端开发 区块链
区块链农场养成种植种树游戏系统开发方案介绍/功能详情/项目源码
区块链技术的兴起,为游戏开发带来了新的思路和玩法。其中,区块链农场养成种植种树游戏系统是一种利用区块链技术实现虚拟农场种植的游戏。玩家可以通过购买种子、种植、收获、交易等方式,体验虚拟农场的乐趣,同时也可以参与到环境保护和可持续发展的过程中。下面,我们将详细介绍区块链农场养成种植种树游戏系统开发方案、功能详情以及项目源码。
494 0
|
存储 开发工具
CASE 工具有哪些
<h2 style="color:rgb(18,18,20); font-weight:normal; letter-spacing:-1px; margin:0.2em 0.2em 0.2em 0px; font-size:1.7em; line-height:1.5em; padding:0px; position:relative; left:0px; font-family:Ver
4030 0