package org.msh.utils; import org.jboss.seam.annotations.Name; import org.jboss.seam.annotations.intercept.BypassInterceptors; import org.jboss.seam.international.Messages; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.validator.Validator; import javax.faces.validator.ValidatorException; import java.util.Calendar; import java.util.Date; import java.util.Map; @Name("minDateValidator") @org.jboss.seam.annotations.faces.Validator(id="minDateValidator") @BypassInterceptors public class MinDateValidator implements Validator { public void validate(FacesContext facesContext, UIComponent comp, Object val) throws ValidatorException { Date dt = (Date)val; Calendar minDate = Calendar.getInstance(); minDate.set(Calendar.DAY_OF_MONTH, 1); minDate.set(Calendar.MONTH, Calendar.JANUARY); minDate.set(Calendar.YEAR, 1900); if(minDate != null && dt != null && minDate.getTime().compareTo(dt) > 0 ){ Map messages = Messages.instance(); FacesMessage message = new FacesMessage(); message.setDetail(messages.get("cases.regimens.splitvalmsg")); message.setSummary(messages.get("cases.regimens.splitvalmsg")); message.setSeverity(FacesMessage.SEVERITY_ERROR); throw new ValidatorException(message); } } }