ActiveModel::Validations
Class methods
Instance methods
Numeric coercion for numericality: String "4.5" IS a number (gem parses strings), true/nil are not.
Macros
Base dispatcher planted on first DSL use (macro finished does NOT run for including classes in Crystal 1.21 — see PLAN.md; each DSL call chains onto the previous definition via previous_def).
Custom validations: validate :check_name or validate do ... end.
--- DSL ------------------------------------------------------------- validates :title, presence: true, length: {minimum: 2, maximum: 5} validates :age, numericality: {only_integer: true, greater_than: 5} validates :email, format: {with: /.../}, inclusion: {in: [...]}, exclusion: {in: [...]}, acceptance: true, confirmation: true ... on: :update, strict: true, condition: :method, unless_condition: :method Custom validators: any other kwarg → registry lookup by name.
validates! — strict version (raises StrictValidationFailed on invalid? — oracle val_strict_raise).