# `PdfElixide.Form.Field.Choice.Flags`
[🔗](https://github.com/r8/pdf_elixide/blob/v0.16.0/lib/pdf_elixide/form/field/choice/flags.ex#L1)

The `/Ff` field flags of a choice field (ISO 32000-1 Table 230), alongside the
three every field carries (Table 226).

## Fields

  * `:read_only` — the field may not be changed by the user.
  * `:required` — the field must have a value when the form is submitted.
  * `:no_export` — the field is omitted from a submission.
  * `:combo` — the field is a combo box rather than a list box. This is the bit
    `PdfElixide.Form.Field.Choice`'s `:kind` reports as `:combo_box`.
  * `:edit` — the combo box includes an editable text box, so its value need
    not be one of the offered options. Meaningful only with `:combo`.
  * `:sort` — the options are sorted alphabetically. This is a hint to the
    software that produces the field, not to the one that displays it.
  * `:multi_select` — more than one option may be selected at once, which is
    how a choice field comes to hold a list value.
  * `:do_not_spell_check` — an editable combo box's text is not spell-checked.
  * `:commit_on_sel_change` — the new value is committed as soon as a selection
    is made, rather than when the field loses focus.
  * `:raw` — the undecoded `/Ff` integer, for bits this struct does not name.

See the "Field kinds and flags" section of the [Forms](guides/forms.md) guide.

# `t`

```elixir
@type t() :: %PdfElixide.Form.Field.Choice.Flags{
  combo: boolean(),
  commit_on_sel_change: boolean(),
  do_not_spell_check: boolean(),
  edit: boolean(),
  multi_select: boolean(),
  no_export: boolean(),
  raw: non_neg_integer(),
  read_only: boolean(),
  required: boolean(),
  sort: boolean()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
