Anvil.Schema.Field (Anvil v0.1.1)

View Source

Represents a field in a label schema.

Supports various field types with appropriate validation rules.

Summary

Functions

Returns a list of all supported field types.

Validates a value against this field's constraints.

Types

field_type()

@type field_type() ::
  :text
  | :select
  | :multiselect
  | :range
  | :number
  | :boolean
  | :date
  | :datetime

t()

@type t() :: %Anvil.Schema.Field{
  default: any(),
  description: String.t() | nil,
  max: number() | nil,
  metadata: map(),
  min: number() | nil,
  name: String.t(),
  options: [String.t()] | nil,
  pattern: Regex.t() | nil,
  required: boolean(),
  type: field_type()
}

Functions

types()

@spec types() :: [field_type()]

Returns a list of all supported field types.

validate(field, value)

@spec validate(t(), any()) :: :ok | {:error, String.t()}

Validates a value against this field's constraints.