package org.synyx.urlaubsverwaltung.web.sicknote;
import org.springframework.stereotype.Component;
import org.springframework.util.StringUtils;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
/**
* Class for validating {@link org.synyx.urlaubsverwaltung.web.sicknote.SickNoteConvertForm} object.
*
* @author Aljona Murygina - murygina@synyx.de
*/
@Component
public class SickNoteConvertFormValidator implements Validator {
private static final String ERROR_MANDATORY_FIELD = "error.entry.mandatory";
private static final String ERROR_LENGTH = "error.entry.tooManyChars";
private static final int MAX_CHARS = 200;
@Override
public boolean supports(Class<?> clazz) {
return SickNoteConvertForm.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
SickNoteConvertForm convertForm = (SickNoteConvertForm) target;
String reason = convertForm.getReason();
if (!StringUtils.hasText(reason)) {
errors.rejectValue("reason", ERROR_MANDATORY_FIELD);
} else {
if (reason.length() > MAX_CHARS) {
errors.rejectValue("reason", ERROR_LENGTH);
}
}
}
}