Use `values` instead of process functions for validation

I wanted to play around with this a little so I made the changes @mattbasta suggested. If it looks good to you @timdream I'll merge it in.