raise instead of throw in validations spec
add ability to collect validation errors