Next-gen ruby libs! » github.com/dry-rb » website: https://dry-rb.org » forum: https://discourse.dry-rb.org
User.validates :email, presence: true
) but on the "operation level". Does it make any sense? How do you use it?
# app/schemas/users/user_schema.rb:1
module Users
UserSchema = Dry::Validation.Schema(ApplicationSchema) do
required(:full_name).filled(:str?)
required(:email).filled(:str?, :email?, unique?: :email)
required(:country).filled(:str?)
required(:password).filled(:str?, min_size?: 5)
optional(:phone).maybe(:str?)
optional(:admin).maybe(:bool?)
optional(:blocked).maybe(:bool?)
end
end
# app/schemas/users/confirm_new_password_schema.rb:1
module Users
ConfirmNewPasswordSchema = Dry::Validation.Schema(ApplicationSchema) do
required(:authentication_token).filled(:str?)
required(:password).filled(:str?, min_size?: 5)
end
end