Skip to content

panhongliang/object-validation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

object-validation

对象值校验,支持非空校验(@Required),正则表达式校验(@Regular(正则表达式)),Ognl表达式校验(@Boolean(Ognl表达式)),可以满足大部分需 求,不满足需求的情况下可以自己扩展。支持扩展和覆盖默认实现。 校验方法:

在属性的get方法上打上相应的注释,支持对集合的检验 然后调用 ValidateFactory.validate(对象)即可; 如:有类Obj,

public class Obj {

private int a;
private String b;
private double c;
private String email;
private Map<String ,Obj1> map;

@Required
public Map<String, Obj1> getMap() {
    return map;
}
@Regular(Constants.Regular.EMAIL) //要满足邮箱格式
public String getEmail() {
    return email;
}

public void setEmail(String email) {
    this.email = email;
}

@Required //不能为空
@Boolean("a>3 && a<5") //a的值要>3并且<5 ognl表达式
public int getA() {
    return a;
}

public void setA(int a) {
    this.a = a;
}

@Boolean("b!=null && b.length()<3") //b的值不能为空,且长度小于3 ognl表达式
public String getB() {
    return b;
}

public void setB(String b) {
    this.b = b;
}

@Required//非空
public double getC() {
    return c;
}

public void setC(double c) {
    this.c = c;
}

}

测试类:

public class Test { public static void main(String[] args) {

    Obj obj=new Obj();
    obj.setA(6);//a值不满足条件
    obj.setB("ab");
    obj.setEmail("[email protected]");
    String exception=ValidateFactory.validate(obj);
    //判断exception是否为空,为空则校验通过,不过空则校验失败
    if(exception!=null){
        System.out.println(exception);
    }
    
}

}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages