guardedstruct

Nested DSLs

Options

NameTypeDefaultDocs
enforcebooleanfalse
opaquebooleanfalse
moduleany
errorbooleanfalse
authorized_fieldsbooleanfalse
main_validator{atom, atom}
validate_deriveatom | list(atom)
sanitize_deriveatom | list(atom)
jsonbooleanfalseWhen true, derives a JSON encoder. Uses Jason.Encoder if :jason is in the user's deps; otherwise falls back to the built-in JSON.Encoder on Elixir 1.18+. No-op if neither is available.
auto_wirebooleanfalseOnly effective inside the GuardedStruct.AshResource extension. When true, injects GuardedStruct.AshResource.Change into the resource's top-level changes section so every :create and :update action automatically runs the GuardedStruct pipeline. Equivalent to writing changes do change GuardedStruct.AshResource.Change end by hand. No-op outside the Ash extension.

guardedstruct.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.virtual_field

virtual_field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
hintString.t

guardedstruct.dynamic_field

dynamic_field name

Arguments

NameTypeDefaultDocs
nameany

Options

NameTypeDefaultDocs
typeany{:map, [], []}
enforceboolean
defaultany{:%{}, [], []}
derivesString.t"validate(map)"
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
hintString.t

guardedstruct.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.sub_field.conditional_field

conditional_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.sub_field.conditional_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.sub_field.conditional_field.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.sub_field.conditional_field.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.sub_field.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.sub_field.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field

conditional_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.conditional_field.sub_field.conditional_field

conditional_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.sub_field.conditional_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.sub_field.conditional_field.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.conditional_field.sub_field.conditional_field.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.sub_field.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.conditional_field.sub_field.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.conditional_field

conditional_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.conditional_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.conditional_field.sub_field

sub_field name, type

Nested DSLs

Arguments

NameTypeDefaultDocs
nameatom
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean
errorboolean
authorized_fieldsboolean
main_validator{atom, atom}

guardedstruct.conditional_field.conditional_field.sub_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean

guardedstruct.conditional_field.field

field name, type

Arguments

NameTypeDefaultDocs
nameany
typeany

Options

NameTypeDefaultDocs
enforceboolean
defaultany
derivesString.t
deriveString.t
validator{atom, atom}
auto{atom, atom} | {atom, atom, any}
fromString.t
onString.t
domainString.t
structatom
structsatom | boolean
hintString.t
priorityboolean