Especially if you're in a real homogenous environment, with potentially other applications writing to the same database, it can pay to move your validation step into
the database. Create constraints and checks that verify the integrity and correctness of the data at insert-time, and be sure that when you do your inserts and updates you're checking for errors and propogating them out.
When designing major database-driven applications, it pays to move certain aspects of your functionality into the database itself.
Plus, like I alluded to above, if you have more than one application writing to the same database, these constraints ensure a common set of validation across all applications.
Just some thoughts; they may not be applicable to this particular case, though.