Sunday, 16 June 2019

Bean Validation: AssertTrue: Validate trueness of the element

If you annotate any element with @AssertTrue annotation, then the annotated element must be true.

What are the supported types?
a.   boolean
b.   Boolean

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.AssertTrue;

public class Employee {

 private int id;

 @AssertTrue
 private boolean isExperienced;

 public Employee(int id, boolean isExperienced) {
  this.id = id;
  this.isExperienced = isExperienced;
 }

 public int getId() {
  return id;
 }

 public void setId(int id) {
  this.id = id;
 }

 public boolean isExperienced() {
  return isExperienced;
 }

 public void setExperienced(boolean isExperienced) {
  this.isExperienced = isExperienced;
 }

}

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(123, false);
  System.out.println("Validation errors on bean emp1");
  validateBean(emp1);

  Employee emp2 = new Employee(234, true);
  System.out.println("Validation errors on bean emp2");
  validateBean(emp2);
 }
}

Output  

Validation errors on bean emp1
************************************
isExperienced,must be true

Validation errors on bean emp2
************************************
No validation errors....

  
Previous                                                 Next                                                 Home

No comments:

Post a Comment