簡體   English   中英

Java bean驗證問題

[英]issue with Java bean validation

我是新手,正在使用Java Bean驗證。

我有一個下面給出的帶有空和大小約束的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;}     
}

我有一個主要的班級如下

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的名稱時,這會引發錯誤。但是,對於我傳遞的所有值,此類都成功執行。 讓我知道我在這里想念的東西。

提前致謝。

范例程式碼

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM