I am trying to figure out how to use Validation on Business Objects. Until now I have only seen examples on CustomValidator that checks for only 1 error. I have two fields with DateTime input that should check for 3 or more errors. I guess normally I should check on client, then on server, last on database level. If I get an error on a field, I should not be able to leave the field. On the Client Validation this is not an error that should cause an Exception since its only a user error. But if something goes wrong and the user bypass the Client Validation, the Server Validation should kick an Exception. And last, if i have other e.g. Batch Update work then they should use the Database Validation code. Please correct me if I have missed something fundamental!
- `dateFrom` is not empty. (But `dateTo`can be empty)
- `dateFrom` is earlier than `dateTo`
- `dateFrom` and `dateTo` is within constant `MinDate` and `MaxDate`
So How should my Validation look like, Client, Server and Database?
Thoughts: Should the validation logic be separated on 3 different places; UI, Code and DataObject(Database)? When it is the exact same code? Seems redundant? Can I use the same validation method for all three checks? Or do I need to implement 3 code-chunks, and 3 Methods for each, and then how do I list all in the ValidationSummary nicely?