Amber::Validators::Params
Constructors
new(raw_params : Amber::Router::Params)
SourceInstance methods
add_rule(rule : BaseRule)
Validates each field with a given set of predicates returns true if the field is valid otherwise returns false
required(:email) { |p| p.email? & p.size.between? 1..10 }
errors
Sourceparams
Sourceraw_params
Sourcerules
Sourceto_h
Sourceto_unsafe_h
Sourcevalid?
Returns True or false whether the validation passed
unless params.valid?
response.puts {errors: params.errors}.to_json
response.status_code 400
end
validate!
Input must be valid otherwise raises error, if valid returns a hash of validated params Otherwise raises a Validator::ValidationFailed error messages contain errors.
user = User.new params.validate!
validation
Setups validation rules to be performed
params.validation do
required(:email) { |p| p.url? }
required(:age, UInt32)
end
Macros
method_missing(call)
This will allow params to respond to HTTP::Params methods. For example: [], []?, add, delete, each, fetch, etc.