Java tutorial
/** * Licensed to Jasig under one or more contributor license * agreements. See the NOTICE file distributed with this work * for additional information regarding copyright ownership. * Jasig licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a * copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.jasig.portlet.ClassifiedsPortlet.domain; import org.jasig.portlet.ClassifiedsPortlet.domain.Ad; import org.springframework.validation.Errors; import org.springframework.validation.ValidationUtils; import org.springframework.validation.Validator; import java.util.*; import java.util.Date; public class SubmitAdFormValidator implements Validator { public boolean supports(Class clazz) { return Ad.class.isAssignableFrom(clazz); } public void validate(Object target, Errors errors) { ValidationUtils.rejectIfEmptyOrWhitespace(errors, "category", "required.category"); ValidationUtils.rejectIfEmptyOrWhitespace(errors, "title", "required.title"); ValidationUtils.rejectIfEmpty(errors, "startDate", "required.startDate"); ValidationUtils.rejectIfEmpty(errors, "endDate", "required.endDate"); ValidationUtils.rejectIfEmpty(errors, "description", "required.description"); Ad form = (Ad) target; if (form.getPolicyAccepted() == false) { errors.rejectValue("policyAccepted", "required.policyAccepted"); } if (form.getStartDate() != null && form.getEndDate() != null && !form.getStartDate().before(form.getEndDate())) { errors.rejectValue("startDate", "invalid.startDateAfterEndDate"); } Calendar cal = Calendar.getInstance(); Date today = new Date(); cal.setTime(today); cal.add(Calendar.DATE, 60); Date maxStartDate = cal.getTime(); if (form.getStartDate() != null && form.getStartDate().after(maxStartDate)) { errors.rejectValue("startDate", "invalid.startDatePastMaximumDays"); } cal.setTime(today); cal.add(Calendar.DATE, 120); Date maxEndDate = cal.getTime(); if (form.getEndDate() != null && form.getEndDate().after(maxEndDate)) { errors.rejectValue("startDate", "invalid.endDatePastMaximumDays"); } if (form.getDescription().length() > 2056) { errors.rejectValue("description", "tolong.description"); } ; if (form.getCategory() == null) { errors.rejectValue("category", "required.category"); } ; } }