Ruby field-level input validator
Ruby
def validate_user(input)
errors = {}
name = input[:name].to_s.strip
email = input[:email].to_s.strip
age = input[:age]
errors[:name] = 'is required' if name.empty?
errors[:email] = 'is required' if email.empty?
errors[:email] ||= 'is invalid' unless email.match?(/\A[^@\s]+@[^@\s]+\.[^@\s]+\z/)
errors[:age] = 'must be an integer' unless age.is_a?(Integer)
errors[:age] ||= 'must be 13 or older' if age.is_a?(Integer) && age < 13
errors
end