Costura entre Phoenix.HTML.FormField (changeset/Ecto) e os controles.
assign_field/1 deriva id, name, value e errors do field quando
presente; sem field, mantém name/value/id avulsos. Erros só aparecem
depois que o campo foi usado (Phoenix.Component.used_input?/1), igual ao
core_components gerado pelo Phoenix.
Summary
Functions
Deriva id, name, value e errors de um Phoenix.HTML.FormField (field).
Mensagens de erro já traduzidas de um FormField, só se o campo foi usado.
Garante um id DOM válido (de id ou do field) em componentes que o usam em
hooks, popovers ou seletores. Falha alto, nomeando o componente.
Functions
Deriva id, name, value e errors de um Phoenix.HTML.FormField (field).
Precedência quando há field (valor explícito do chamador vence o do campo, exceto onde indicado):
| atributo | fonte |
|---|---|
id | id explícito, senão field.id |
name | sempre o do campo (com [] se multiple: true) |
value | value explícito, senão field.value |
errors | sempre os do campo, traduzidos, só se o campo foi usado (used_input?/1) |
Sem field, name/value/errors ficam como o chamador passou (ou nil/[]).
Opções: multiple: true acrescenta [] ao name (MultiSelect, Select múltiplo).
@spec errors(Phoenix.HTML.FormField.t()) :: [String.t()]
Mensagens de erro já traduzidas de um FormField, só se o campo foi usado.
Garante um id DOM válido (de id ou do field) em componentes que o usam em
hooks, popovers ou seletores. Falha alto, nomeando o componente.