Bean Validation Framework

This framework implemented get rid of validate bean object using if-else condition and easy to integrate custom validators.
– This is developed using Java 1.5 and no other library is required.
– Used Generics,Reflection and Annotation in implementation.
– Light weight Annotation base bean validation with runtime plugable custom validators.No need to register custom validator it adds automatically at runtime.
– easy to add custom validators.
– It can be use as standalone at presentation layer.

Note: validation annotation applied only to bean property fields.
-In custom validator implementation , add message field to Annotation interface.

You can download code from github(git://

Sample bean validation code using this framework.

public class MyBean {

   @MaxLength(value = 10, message = "Max length of name field is 10.")
   private String name;
   @Email(message="Please Enter valid email in format")
   private String email;

   public String getEmail() {
             return email;

   public void setEmail(String email) {
   = email;

   public String getName() {
           return name;

   public void setName(String name) {
 = name;

   public static void main(String[] args) {
          MyBean myBean = new MyBean();
          VMessages vm = BeanValidator.validate(myBean);
          //Print Validation Message
         for (Iterator it = vm.getMessages().iterator(); it.hasNext();) {

Minimum length annotation implementation.Here @AValidation indicate which class going to validate annotated field.It used to identify whether the annotation is validation annotation or not.

@AValidation(validator = com.validation.validators.MinLengthValidator.class)
public @interface MinLength {
    int value();
    String message();

=> IValidator interface : Here ‘ T ‘ generic field type which is going to validate using ‘ A’ validation annotation. Here generic interface used to avoid casting object every time for different validators.

public interface IValidator {
      public boolean validate(T value, A annotation, VMessages validationMsges);

=> Minimum length validator implementation. Here VMessages is store constrain violation messages.

public class MinLengthValidator implements IValidator {
     public boolean validate(String value, MinLength aMinLength, VMessages validationMsg) {

         if (value != null) {
             if (value.length() < aMinLength.value()) {
                   return false;
            return true;
          return false;

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.