This week's book giveaway is in the Java in General forum. We're giving away four copies of Beginning Java 17 Fundamentals: Object-Oriented Programming in Java 17 and have ishori Sharan & Adam L Davis on-line! See this thread for details.
And I may quick in first reply, but I understood this wouldn't solve your problem, because I suspect validwhen doesn't support "date" fields only string and primitive data type, still I correct an error for you
Try this code. Also if you want this validwhen approach, then you have break up the date field in three text boxes, like
[day] [month] [year] and then need to check the larger values in end date.