Listing 6: The EmployeeValidator class.

 

<EmployeeValidator>
package jbriscoe.article.spring.validation.validator;

import jbriscoe.article.spring.validation.entity.Employee;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.validator.GenericValidator;
import org.springframework.validation.Errors;
import org.springframework.validation.ValidationUtils;

public class EmployeeValidator extends DefaultValidator {

  private Log log = LogFactory.getLog(getClass());

  public void validate(final Object obj, final Errors errors) {
    log.debug("Begin EmployeeValidator validation.");
    // Employee Name must not be empty
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "name", "errorCode");
    // Employee ID must not be empty and is a positive number
    ValidationUtils.rejectIfEmpty(errors, "employeeId", "errorCode");
    if(((Employee)obj).getEmployeeId() != null){
     if(!GenericValidator.minValue(((Employee)obj).getEmployeeId().intValue(), 1)){
	errors.rejectValue("employeeId", "errorCode");
     }
    }
    // Employee Home Address must not be empty
    ValidationUtils.rejectIfEmpty(errors, "homeAddress", "errorCode");
    log.debug("End EmployeeValidator validation.");
  }
  protected Class getValidatorSupportClass() {
    return Employee.class;
  }
}

How to Add Java Applets to Your Site

New on the Java Boutique:

New Review:

Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling API boasts simplicity, ease-of-integration, a well-rounded feature set, and it's free!

New Applet:

Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA sequences into three useful formats.

Elsewhere on internet.com:

WebDeveloper Java
Lots of Java information on webdeveloper.com

WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.

ScriptSearch Java
Hundreds of free Java code files to download.

jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.