A fun thing to do:
Add a DB-level data constraint to find all the places your app-level validation was wrong.

you *cannot* guarantee clean data with app code only

Comments