Σχετικά με τον έλεγχο της ημ/νίας: Υπάρχουν δύο τρόποι να επιβάλλεις ένα constraint σε αυτό το σημείο. Ο ενας είναι, όπως σωστά προσπαθείς, μέσω του Business Layer.
Ο άλλος είναι να τον κάνεις στο presentation layer και συγκεκριμένα επάνω στην ίδια τη φόρμα.
Το που θα το υλοποιήσεις εξαρτάται από το τι θέλεις να επιτύχεις. Κατ' εμέ η πιό σωστή υλοποίησή του είναι αυτή που προσπάθησες, δηλαδή στο business logic. Γιατί, αν τυχόν δεν δοθεί σωστό range ημ/νιών, το business logic layer και όλα τα απο κάτω του layers είναι αυτά που θα πρέπει να αντιμετωπίσουν το πρόβλημα. Ετσι επιτυγχάνεις να αναθέσεις την υπευθυνότητα για τον έλεγχο ακριβώς στο κομμάτι εκείνο του λογισμικού που πρέπει να την έχει.
Φιλοσοφικός ο προβληματισμός και η συζήτηση, μεν, αλλά πιστεύω να σου δίνει κάποιο hint για το πώς πρέπει να σκέφτεσαι (και ναι, βρίσκεσαι από ο,τι πιστεύω και εγώ στο σωστό δρόμο).
Σωτήρης Φιλιππίδης
DotSee Web Services