Más contenido relacionado Bean validation 20174. Anotaciones
Anotación Ejemplo
@AssertFalse @AssertFalse
boolean isUnsupported;
@AssertTrue @AssertTrue
Boolean isActive;
@DecimalMax @DecimalMax("30.00")
BigDecimalDiscount;
@DecimalMin @DecimalMin("5.00")
BigDecimal discount;
@Digits @Digits(integer=6, fraction=2)
BigDecimal price;
@FutureDate @FutureDate
eventDate;
@Max @Max(10)
int quantity;
5. Anotaciones
Anotación Ejemplo
@Min @Min(5)
int quantity;
@NotNull @NotNull
String username;
@Null @Null
String unusedString;
@Past @Past
Date birthday;
@Pattern @Pattern(regexp="(d{3})d{3}-d{4}")
String phoneNumber;
@Size @Size(min=2, max=240)
String briefMessage;
6. Entidad con Anotaciones
public class Clientes implements java.io.Serializable {
@NotNull
private long cliId;
@NotNull
private TiposDocumentos tiposDocumentos;
@NotNull
@Size(min = 1, max = 50)
private String cliNombre;
@NotNull
@Size(min = 1, max = 50)
private String cliDireccion;
@NotNull
@Size(min = 1, max = 50)
private String cliTelefono;
@NotNull
@Size(min = 1, max = 50)
private String cliMail;
}
11. applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:jpa="http://www.springframework.org/schema/data/jpa"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/data/jpa
http://www.springframework.org/schema/data/jpa/spring-jpa-1.8.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<bean id="validator"
class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean"/>
</beans>
13. Método para validar
@Autowired
private Validator validator;
public void validarClientes(Clientes clientes) throws Exception {
try {
Set<ConstraintViolation<Clientes>> constraintViolations = validator.validate(clientes);
if (constraintViolations.size() > 0) {
StringBuilder strMessage = new StringBuilder();
for (ConstraintViolation<Clientes> constraintViolation : constraintViolations) {
strMessage.append(constraintViolation.getPropertyPath().toString());
strMessage.append(" - ");
strMessage.append(constraintViolation.getMessage());
strMessage.append(". n");
}
throw new Exception(strMessage.toString());
}
} catch (Exception e) {
throw e;
}
}