convert beforeValidate to validation rules

returning false from beforeValidate makes it hard to immediately see why
a save failed.