argos/dmp-backend/web/src/main/java/eu/eudat/models/validators/ProjectModelValidator.java

31 lines
1.0 KiB
Java

package eu.eudat.models.validators;
import eu.eudat.models.data.project.Project;
import org.springframework.stereotype.Component;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
@Component("projectModelValidator")
public class ProjectModelValidator implements Validator {
@Override
public boolean supports(Class<?> aClass) {
return Project.class.equals(aClass);
}
@Override
public void validate(Object obj, Errors errors) {
Project project = (Project) obj;
if (project.getType()== eu.eudat.data.entities.Project.ProjectType.EXTERNAL.getValue()) {
errors.rejectValue("type", "project.external.edit");
}
if (project.getStartDate() != null && project.getEndDate() != null && project.getStartDate().after(project.getEndDate())) {
errors.rejectValue("startDate", "project.startDate.overlapping");
}
}
public static boolean supportsType(Class<?> aClass) {
return Project.class.equals(aClass);
}
}