Fill out validation types and options

Getting to general parity with ActiveModel::Validations.