Java bean验证问题

时间:2015-07-23 09:19:05

标签: java validation javabeans

我是新手,我正在使用java bean验证。

我有一个java bean类,如下所示,带有null和size约束。

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
public class Employee {
@NotNull
private int id;  
@NotNull
@Size(min=4, max=9)
private String name;  
public Employee(){}       
public void setId(int id){this.id=id;}  
public int getId(){return id;}  
public void setName(String name){this.name=name;}  
public String getName(){return name;}     
}

我有一个主要课程,如下所示

public class Test {

public static void main(String[] args) {
    Employee e=new Employee();
      e.setId(0);
      System.out.println(e.getId());
    e.setName("abc");  

    System.out.println(e.getName()); 
    }}

当我传递长度小于4的名称时,预计会抛出错误。但是这个类正在为我传递的所有值成功执行。 让我知道我在这里失踪了什么。

提前致谢。

1 个答案:

答案 0 :(得分:0)

示例代码

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
public class Employee {
@NotNull
private int id;  
@NotNull
@Size(min=4, max=9, message="length error")
private String name;  
public Employee(){}       
public void setId(int id){this.id=id;}  
public int getId(){return id;}  
public void setName(String name){this.name=name;}  
public String getName(){return name;}   

主要课程:

public class Test {
    public static void main(String[] args) {
        Employee e = new Employee();
        e.setId(0);
        e.setName("abc");
        ValidatorFactory v = Validation.buildDefaultValidatorFactory();
        Validator validator = v.getValidator();
        Set<ConstraintViolation<Employee>> set = validator.validate(e);
        for (ConstraintViolation<Employee> constraintViolation : set) {
            System.out.println(constraintViolation.getMessage());
        }
    }
}