2012-06-25 26 views
32

Quiero ot hacer algo de validación de dominiodiferencia entre @size (máx = valor) y @Min (valor) @max (valor)

en mi objetivo estoy teniendo un número entero,

ahora mi pregunta Si escribo es

@Min(SEQ_MIN_VALUE) 
@Max(SEQ_MAX_VALUE) 
private Integer sequence; 

y

@Size(min = 1, max = NAME_MAX_LENGTH) 
private Integer sequence; 

Si se trata de un número entero que es adecuado para la validación de dominio.

¿alguien puede explicarme cuál es la diferencia entre ellos?

Gracias.

Respuesta

58

@Min y @Max se utilizan para la validación de campos numéricos, que podría ser String (número que representa), int, short, byte etc y sus respectivos envoltorios de primitivas.

@Size se utiliza para verificar las restricciones de longitud en los campos.

De acuerdo con la documentación @Size apoya String, Collection, Map y arrays mientras @Min y @Max soporta primitivas y sus envolturas. Vea el documentation.

11
package com.mycompany; 

import javax.validation.constraints.Min; 
import javax.validation.constraints.NotNull; 
import javax.validation.constraints.Size; 

public class Car { 

    @NotNull 
    private String manufacturer; 

    @NotNull 
    @Size(min = 2, max = 14) 
    private String licensePlate; 

    @Min(2) 
    private int seatCount; 

    public Car(String manufacturer, String licencePlate, int seatCount) { 
     this.manufacturer = manufacturer; 
     this.licensePlate = licencePlate; 
     this.seatCount = seatCount; 
    } 

    //getters and setters ... 
} 

@NotNull, @Size y @Min son los llamados anotaciones de restricción, que utilizamos para declarar restricciones, que deberán ser aplicados a los campos de una instancia de coches:

manufacturer Nunca Serán nulos

licensePlate nunca será nulo y debe tener entre 2 y 14 caracteres de largo

seatCount será de al menos 2.

+1

OP está preguntando acerca de '@ Size' aplicado a un' Entero', creo que ese es el punto de su confusión. ¿Es legal aplicarlo a un número entero? Puede tener la semántica similar a las de un RDMS - número de dígitos. –

+0

pueden por favor decirme la diferencia entre @size (max = value) y @min (value) @max (value) – JOHND

Cuestiones relacionadas