1 //新建一个validators.xml在src根资源下,会覆盖default.xml的validators,所以你懂得
  //接着,若使用声明式校验,则要把配置文件xxxAction-validation.xml放入与Action类同级目录下
  
  //看default.xml的源码,找一个validator的类看看里面的写法,发现继承此类即可
public class MyValidators extends FieldValidatorSupport { //object表示校验的Action类
public void validate(Object object) throws ValidationException {
// TODO Auto-generated method stub
//拿到字段名
String fieldName = getFieldName(); String value = (String)this.getFieldValue(fieldName, object);
// if (value == null) {
// addFieldError(fieldName, object);
// }
//若值不为空那么业务逻辑才能继续
if(StringUtils.isNotEmpty(value)) {
// this.addFieldError(value, object); //若密码强度为弱,则校验不通过
if(!validatePass(value)) {
          //这里不用写错误提示,因为错误消息是在xml的配置文件中指定的,声明式验证在message写错误信息的
this.addFieldError(fieldName, object);
}
}
} //以下是校验密码强度的
private static final String GROUP1 = "abcdefghijklmnopqrstuvwxyz";
private static final String GROUP2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static final String GROUP3 = "0123456789";
protected boolean validatePass(String password) {
boolean ok1 = false;//有一个小写字母就为true
boolean ok2 = false;//有一个大写字母就为true
boolean ok3 = false;//有一个数字就为true
int length = password.length();
for(int i=0;i<length;i++){
if(ok1&&ok2&&ok3)
break;
String character = password.substring(i,i+1);
if(GROUP1.contains(character)){
ok1 = true;
continue;
}
if(GROUP2.contains(character)){
ok2 = true;
continue;
}
if(GROUP3.contains(character)){
ok3 = true;
continue;
}
}
return ok1&&ok2&&ok3;
}
}

struts2自定义声明校验器的更多相关文章

  1. Struts2笔记——Action校验器

    在struts2中,我们可以实现对action的所有方法进行校验或者对action的指定方法进行校验.  对于输入校验struts2提供了两种实现方法: 1.采用手工编写代码实现. 2.基于XML配置 ...

  2. Struts2内建校验器(基于校验框架的文件校验)

    位于xwork-2.0.4.jar压缩包中( com.opensymphony.xwork2.validator.validators)有个文件default.xml ,该文件中定义了Struts2框 ...

  3. Struts2 自定义输入校验 第五弹

    Struts2的校验框架有两种:一种是validate方法,另一种是有效的xml文件. Action中自定义方法的输入校验,对于通过action的method属性所指定的自定义方法myExecute, ...

  4. Struts2内置校验器——完整实例代码

    一.校验器的配置风格 1.字段校验器: <field name="被校验的字段"> <field-validator type="校验器名"& ...

  5. struts2自定义Interceptor拦截器

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  6. struts2自定义登录拦截器

    版权声明:本文为博主原创文章,未经博主允许不得转载. (1)配置web.xml,让xml加载struts2框架 <?xml version="1.0" encoding=&q ...

  7. struts2 提供的校验器列表

  8. Bean Validation完结篇:你必须关注的边边角角(约束级联、自定义约束、自定义校验器、国际化失败消息...)

    每篇一句 没有任何技术方案会是一种银弹,任何东西都是有利弊的 相关阅读 [小家Java]深入了解数据校验:Java Bean Validation 2.0(JSR303.JSR349.JSR380)H ...

  9. 【参数校验】 自定义校验器 (实现ConstraintValidator)

    日常工作中写接口时,往往需要校验前端传来的枚举状态码,例如"1","2"等等, 这里使用java 303规范的参数校验框架封装一个自定义参数校验器: /** * ...

随机推荐

  1. C++堆栈与函数调用

    一.C++程序内存分配 1)在栈上创建.在执行函数时,函数内局部变量的存储单元都在栈上创建,函数结束是,这些存储单元自动被释放.栈内存的分配运算内置于处理器的指令集中,一般采用寄存器来存取,效率很高但 ...

  2. Unix安装BerkeleyDB

    下载安装包Berkeley DB 5.3.21.tar.gz http://www.oracle.com/technetwork/products/berkeleydb/downloads/index ...

  3. 2014多校第六场 1005 || HDU 4925 Apple Tree

    题目链接 题意 : 给你一块n×m的矩阵,每一个格子可以施肥或者是种苹果,种一颗苹果可以得到一个苹果,但是如果你在一个格子上施了肥,那么所有与该格子相邻(指上下左右)的有苹果树的地方最后得到的苹果是两 ...

  4. kafka配置

    官网:http://kafka.apache.org/ 主要有3种安装方式: 1. 单机单broker 2. 单机多broker 3. 多机多broker 1. wget http://mirror. ...

  5. pku 1703(种类并查集)

    题目链接:http://poj.org/problem?id=1703 思路;个人觉得本质上还是和带权并查集一样的,只不过多了一个MOD操作,然后就是向量关系图稍微改动一下就变成种类并查集了,对于本题 ...

  6. 利用securecrt在linux与windows之间传输文件

    SecureCRT这款SSH客户端软件同时具备了终端仿真器和文件传输功能.比ftp命令方便多了,而且服务器不用再开FTP服务了.rz,sz是便是Linux/Unix同Windows进行ZModem文件 ...

  7. linux下crontab实现定时服务详解

    http://www.jb51.net/LINUXjishu/151805.html 任务调度的crond常驻命令 crond 是linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动 ...

  8. ABP集合帖

    http://www.cnblogs.com/kebinet/p/5341663.html http://www.cnblogs.com/farb/p/ABPAdvancedTheoryContent ...

  9. 用C#实现Base64处理,加密解密,编码解码

    using System; using System.Text; namespace Common { /// <summary> /// 实现Base64加密解密 /// 作者:周公 / ...

  10. 【hdu2815-Mod Tree】高次同余方程-拓展BadyStepGaintStep

    http://acm.hdu.edu.cn/showproblem.php?pid=2815 题意:裸题... 关于拓展BSGS的详细解释我写了一篇博文:http://www.cnblogs.com/ ...