1 package org.springframework.samples.jpetstore.domain.logic; 2 3 import org.springframework.samples.jpetstore.domain.Order; 4 import org.springframework.validation.Errors; 5 import org.springframework.validation.ValidationUtils; 6 import org.springframework.validation.Validator; 7 8 12 public class OrderValidator implements Validator { 13 14 public boolean supports(Class clazz) { 15 return Order.class.isAssignableFrom(clazz); 16 } 17 18 public void validate(Object obj, Errors errors) { 19 validateCreditCard((Order) obj, errors); 20 validateBillingAddress((Order) obj, errors); 21 validateShippingAddress((Order) obj, errors); 22 } 23 24 public void validateCreditCard(Order order, Errors errors) { 25 ValidationUtils.rejectIfEmpty(errors, "creditCard", "CCN_REQUIRED", "FAKE (!) credit card number required."); 26 ValidationUtils.rejectIfEmpty(errors, "expiryDate", "EXPIRY_DATE_REQUIRED", "Expiry date is required."); 27 ValidationUtils.rejectIfEmpty(errors, "cardType", "CARD_TYPE_REQUIRED", "Card type is required."); 28 } 29 30 public void validateBillingAddress(Order order, Errors errors) { 31 ValidationUtils.rejectIfEmpty(errors, "billToFirstName", "FIRST_NAME_REQUIRED", "Billing Info: first name is required."); 32 ValidationUtils.rejectIfEmpty(errors, "billToLastName", "LAST_NAME_REQUIRED", "Billing Info: last name is required."); 33 ValidationUtils.rejectIfEmpty(errors, "billAddress1", "ADDRESS_REQUIRED", "Billing Info: address is required."); 34 ValidationUtils.rejectIfEmpty(errors, "billCity", "CITY_REQUIRED", "Billing Info: city is required."); 35 ValidationUtils.rejectIfEmpty(errors, "billState", "STATE_REQUIRED", "Billing Info: state is required."); 36 ValidationUtils.rejectIfEmpty(errors, "billZip", "ZIP_REQUIRED", "Billing Info: zip/postal code is required."); 37 ValidationUtils.rejectIfEmpty(errors, "billCountry", "COUNTRY_REQUIRED", "Billing Info: country is required."); 38 } 39 40 public void validateShippingAddress(Order order, Errors errors) { 41 ValidationUtils.rejectIfEmpty(errors, "shipToFirstName", "FIRST_NAME_REQUIRED", "Shipping Info: first name is required."); 42 ValidationUtils.rejectIfEmpty(errors, "shipToLastName", "LAST_NAME_REQUIRED", "Shipping Info: last name is required."); 43 ValidationUtils.rejectIfEmpty(errors, "shipAddress1", "ADDRESS_REQUIRED", "Shipping Info: address is required."); 44 ValidationUtils.rejectIfEmpty(errors, "shipCity", "CITY_REQUIRED", "Shipping Info: city is required."); 45 ValidationUtils.rejectIfEmpty(errors, "shipState", "STATE_REQUIRED", "Shipping Info: state is required."); 46 ValidationUtils.rejectIfEmpty(errors, "shipZip", "ZIP_REQUIRED", "Shipping Info: zip/postal code is required."); 47 ValidationUtils.rejectIfEmpty(errors, "shipCountry", "COUNTRY_REQUIRED", "Shipping Info: country is required."); 48 } 49 } 50 | Popular Tags |