1. ignore static field validation, some constant with validation annotaion was validated. I use annotaion for those constant for special purpose.
code modified in ClassValidator:
public ClassValidator(Class<T> beanClass, ResourceBundle resourceBundle, Map<Class, ClassValidator> childClassValidators) {
....
if (!Modifier.isStatic(field.getModifiers())) {//add this line
createMemberValidator(field);
Class clazz = field.getType();
createChildValidator(resourceBundle, field, clazz);
}
....
}
2. validation failure reasons was not reported in exception.
code modifed in ValidateEventListener.java:
protected void validate(Object entity, EntityMode mode) {
...
if ( consolidatedInvalidValues.size() > 0 ) {
throw new InvalidStateException(
consolidatedInvalidValues.toArray( new InvalidValue[consolidatedInvalidValues.size()/* here */] ), entity.getClass().getName());
}
}
|