39-41.Struts2_短路验证&非字段验证&相同的验证规则使用同一条响应消息&自定义验证器
来源:互联网 发布:网络摄影机app 编辑:程序博客网 时间:2024/06/08 15:24
主要笔记
7). 关于非字段验证: 不是针对于某一个字段的验证.
<validator type="expression"> <param name="expression"><![CDATA[password==password2]]></param> <message>Password is not equals to password2</message></validator> 显示非字段验证的错误消息, 使用 s:actionerror 标签: <s:actionerror/>
8). 不同的字段使用同样的验证规则, 而且使用同样的响应消息 ?
error.int=
age=\u5E74\u9F84
count=\u6570\u91CF
详细分析参见 PPT 159.
9). 自定义验证器:
I. 定义一个验证器的类
> 自定义的验证器都需要实现 Validator. > 可以选择继承 ValidatorSupport 或 FieldValidatorSupport 类> 若希望实现一个一般的验证器, 则可以继承 ValidatorSupport> 若希望实现一个字段验证器, 则可以继承 FieldValidatorSupport> 具体实现可以参考目前已经有的验证器. > 若验证程序需要接受一个输入参数, 需要为这个参数增加一个相应的属性
II. 在配置文件中配置验证器
> 默认情况下下, Struts2 会在 类路径的根目录下加载 validators.xml 文件. 在该文件中加载验证器. 该文件的定义方式同默认的验证器的那个配置文件: 位于 com.opensymphony.xwork2.validator.validators 下的 default.xml> 若类路径下没有指定的验证器, 则从 com.opensymphony.xwork2.validator.validators 下的 default.xml 中的验证器加载
III. 使用: 和目前的验证器一样.
IV. 示例代码: 自定义一个 18 位身份证验证器
validators.xml
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator Definition 1.0//EN" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtd"><!-- START SNIPPET: validators-default --><validators> <validator name="idcard" class="com.hgh.struts2.validator.IDCardValidator"/></validators>
i18n.properties
error.int=i18n ${fieldName} needs to be between ${min} and ${max}
TestValidatorAction-testvalidator-validation.xml
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"><validators> <field name="age"> <!-- 设置短路验证: 若当前验证没有通过, 则不再进行下面的验证 <validator …/> 元素和 <field-validator …/> 元素可以指定一个可选的 short-circuit 属性,该属性指定该验证器是否是短验证器,默认值为 false。对同一个字段内的多个验证器,如果一个短路验证器验证失败,其他验证器不会继续校验 --> <field-validator type="conversion" short-circuit="true"> <message>^Conversion Error Occurred</message> </field-validator> <field-validator type="int"> <param name="min">20</param> <param name="max">50</param> <!-- <message>Age needs to be between ${min} and ${max}</message>error.int <message key="error.int"></message> --> <message key="error.int"></message> </field-validator> </field> <field name="count"> <field-validator type="int"> <param name="min">20</param> <param name="max">50</param> <message key="error.int"></message> </field-validator> </field> <!-- 关于非字段验证: 不是针对于某一个字段的验证.expression --> <validator type="expression"> <param name="expression"><![CDATA[passWord1==passWord2]]></param> <message>Password is not equals to password2</message> </validator> <!-- 使用自定义的验证器 --> <field name="idCard"> <field-validator type="idcard"> <message>不合法的身份证</message> </field-validator> </field></validators>
阅读全文
0 0
- 39-41.Struts2_短路验证&非字段验证&相同的验证规则使用同一条响应消息&自定义验证器
- 24.struts2_短路验证,非字段验证,相同验证规则使用一条相应
- Struts2 中,相同的验证规则,如何使用同一条异常响应信息,及动态调用各自对应的名称?
- Struts2_自定义验证器
- 36.Struts2_自定义验证器
- struts2 字段、非字段验证,自定义验证
- 25.struts2_自定义验证器和编程验证
- easyui自定义验证规则
- 自定义验证规则
- struts自定义验证规则
- Laravel-自定义验证规则
- 23.struts2_输入验证
- EasyUI的自定义验证规则,验证日期的有效性
- EasyUI的自定义验证规则,验证日期的有效性
- jquery validation表单验证,自定义字段验证
- struts2自定义验证规则及配置使用
- 38. Struts2_使用声明式验证
- 35.Struts2_使用声明式验证
- 【双向队列,单向队列,坑爹的题目】Uva 210 Concurrency Simulator
- redis保存对象
- 51nod 1130 N的阶乘的长度 V2(斯特林近似) 【数学】【斯特林公式】
- slider 滑动条 mouseup有时失效的原因
- MYSQL中数据约束
- 39-41.Struts2_短路验证&非字段验证&相同的验证规则使用同一条响应消息&自定义验证器
- Xilinx的ISim仿真随机数的生成
- C/C++ 结构体对齐原则
- 学习笔记: 源码 softmax_loss_layer.cpp 略析
- 【Redis】----Redis哈希(Hash)
- 开发笔记手册(二)
- mysql数据库-数据的增删改查
- 二叉搜索树的实现(查找,插入,删除的递归与非递归)
- 项目人力资源管理脉络