Delegate all validity checking to model

Also don't blow up when there are errors on attributes that are not
directly mapped from the json