简体   繁体   English

Java bean验证问题

[英]issue with Java bean validation

I am a newbie and I am working with java bean validations. 我是新手,正在使用Java Bean验证。

I have a java bean class as given below with a null and size constraint. 我有一个下面给出的带有空和大小约束的java bean类。

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;}     
}

and I have a main class as below 我有一个主要的班级如下

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()); 
    }}

This is expected to throw error when I pass name with length less than 4. But this class is executing successfully for all the values I pass. 当我传递长度小于4的名称时,这会引发错误。但是,对于我传递的所有值,此类都成功执行。 Let me know what I am missing here. 让我知道我在这里想念的东西。

Thanks in advance. 提前致谢。

Example code 范例程式码

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;}   

main class: 主类:

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());
        }
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM