Skip to content

Instantly share code, notes, and snippets.

@xtrycatchx
Created October 18, 2011 12:39
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save xtrycatchx/1295321 to your computer and use it in GitHub Desktop.
Save xtrycatchx/1295321 to your computer and use it in GitHub Desktop.
package paul.sydney.controller.validation;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
import javax.validation.Validator;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
/**
* GenericValidator class, validates objects during submission
* Copyright : adobocode.com , 2010
*
* @author Paul Sydney Orozco | xtrycatchx@gmail.com
*
*/
@Component("genericValidator")
public class GenericValidator implements org.springframework.validation.Validator, InitializingBean, IGenericValidator {
private Validator validator;
public void afterPropertiesSet() throws Exception {
ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
validator = validatorFactory.usingContext().getValidator();
}
@SuppressWarnings("unchecked")
public boolean supports(Class clazz) {
return true;
}
public void validate(Object target, Errors errors) {
Set<ConstraintViolatio<Object>> constraintViolations = validator.validate(target);
for (ConstraintViolation<Object> constraintViolation : constraintViolations) {
String propertyPath = constraintViolation.getPropertyPath().toString();
String message = constraintViolation.getMessage();
errors.rejectValue(propertyPath, "", message);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment