This section of code fails (data is the bean object):
InvalidValue[] validationMessages;
ClassValidator requestValidator = new ClassValidator(data.getClass());
validationMessages = requestValidator.getInvalidValues(data); //fails here!
Don’t know why but this works (“hobby” is one of the fields of the data bean):
requestValidator.getInvalidValues(data, “hobby”)
So, I modified the whole section to use request’s getParameterMap to traverse each bean property:
InvalidValue[] validationMessages;
List<InvalidValue[]> validationMsgList = new ArrayList<InvalidValue[]>();
ClassValidator requestValidator = new ClassValidator(data.getClass());
Map pMap = request.getParameterMap();
Iterator ParIt = pMap.entrySet().iterator();
while (ParIt.hasNext()) {
Map.Entry pairs = (Map.Entry) ParIt.next();
String key = “” + pairs.getKey();
validationMessages = requestValidator.getInvalidValues(data, key);
validationMsgList.add(validationMessages);
}
App finally runs.