From 4df670ae7061056f4856e2cebe7d0e8e98d31aa5 Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Tue, 1 Apr 2008 20:20:28 +0000 Subject: [PATCH] --- .../webflow/samples/booking/Booking.java | 19 +++++++++++++++++++ .../webapp/WEB-INF/hotels/booking/booking.xml | 4 +++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/spring-webflow-samples/booking-mvc/src/main/java/org/springframework/webflow/samples/booking/Booking.java b/spring-webflow-samples/booking-mvc/src/main/java/org/springframework/webflow/samples/booking/Booking.java index 5e42e88e..c81873d9 100755 --- a/spring-webflow-samples/booking-mvc/src/main/java/org/springframework/webflow/samples/booking/Booking.java +++ b/spring-webflow-samples/booking-mvc/src/main/java/org/springframework/webflow/samples/booking/Booking.java @@ -16,6 +16,9 @@ import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Transient; +import org.springframework.binding.message.MessageBuilder; +import org.springframework.binding.message.MessageContext; + /** * A Hotel Booking made by a User. */ @@ -173,6 +176,22 @@ public class Booking implements Serializable { this.creditCardExpiryYear = creditCardExpiryYear; } + public boolean validate(MessageContext context) { + Calendar calendar = Calendar.getInstance(); + calendar.add(Calendar.DAY_OF_MONTH, -1); + boolean valid = true; + if (checkinDate.before(calendar.getTime())) { + context.addMessage(new MessageBuilder().error().source("checkinDate").defaultText( + "Check in date must be a future date").build()); + valid = false; + } else if (!checkinDate.before(checkoutDate)) { + context.addMessage(new MessageBuilder().error().source("checkoutDate").defaultText( + "Check out date must be later than check in date").build()); + valid = false; + } + return valid; + } + @Override public String toString() { return "Booking(" + user + "," + hotel + ")"; diff --git a/spring-webflow-samples/booking-mvc/src/main/webapp/WEB-INF/hotels/booking/booking.xml b/spring-webflow-samples/booking-mvc/src/main/webapp/WEB-INF/hotels/booking/booking.xml index 787b8821..d05a068d 100644 --- a/spring-webflow-samples/booking-mvc/src/main/webapp/WEB-INF/hotels/booking/booking.xml +++ b/spring-webflow-samples/booking-mvc/src/main/webapp/WEB-INF/hotels/booking/booking.xml @@ -14,7 +14,9 @@ - + + +