If you apply @DecimalMax annotation on a number, then the number must be lower or equal to the specified maximum.
Example
@DecimalMax(value = "100000")
private int id;
What are the supported types?
a. byte,
b. short,
c. int,
d. long,
e. Byte,
f. Short,
g. Integer,
h. Long,
i. BigDecimal,
j. BigInteger,
k. CharSequence
Note: As per specification double, float is not supported due to rounding errors. Some providers may provide some approximative support
Where can I apply this annotation?
a. METHOD,
b. FIELD,
c. ANNOTATION_TYPE,
d. CONSTRUCTOR,
e. PARAMETER,
f. TYPE_USE
Find the below working application.
Employee.java
package com.sample.model;
import javax.validation.constraints.DecimalMax;
public class Employee {
@DecimalMax(value = "100000")
private int id;
private String name;
public Employee(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Test.java
package com.sample.test;
import java.util.Set;
import javax.validation.*;
import javax.validation.ValidatorFactory;
import com.sample.model.Employee;
public class Test {
private static ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
private static Validator validator = validatorFactory.getValidator();
private static void validateBean(Employee emp) {
System.out.println("************************************");
Set<ConstraintViolation<Employee>> validationErrors = validator.validate(emp);
if (validationErrors.size() == 0) {
System.out.println("No validation errors....");
}
for (ConstraintViolation<Employee> violation : validationErrors) {
System.out.println(violation.getPropertyPath() + "," + violation.getMessage());
}
System.out.println("");
}
public static void main(String args[]) {
Employee emp1 = new Employee(12345, "Krishna");
System.out.println("Validation errors on bean emp1");
validateBean(emp1);
Employee emp2 = new Employee(23456789, "Siva");
System.out.println("Validation errors on bean emp2");
validateBean(emp2);
}
}
Output
Validation errors on bean emp1 ************************************ No validation errors.... Validation errors on bean emp2 ************************************ id,must be less than or equal to 100000
No comments:
Post a Comment