Making validation a little more consistent

The various inconsistencies were becoming apparent, particularly when creating a model would validate where updating it wouldn't.