下面列出了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 | |
| url | allowallschemes、 allow2slashes、 nofragments、 schemes | 字段不是一个URL |
关于Validator框架标准验证的详细信息,读者可以访问如下的URL:
http://struts.apache.org/1.2.9/userGuide/dev_validator.html
下面来举一个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*表示当前属性的值。
本文介绍了Struts Validator框架中预定义的验证规则,包括必填、长度限制、格式验证等,并通过实例展示了如何使用validwhen进行复杂条件验证。
:Validator验证框架的内置标准验证&spm=1001.2101.3001.5002&articleId=6755809&d=1&t=3&u=fa7be1281b6246b482eb29225f4bd48e)
1710

被折叠的 条评论
为什么被折叠?



