# `Riddler.Screens.Type.BooleanQuestion`
[🔗](https://github.com/riddler/riddler-ex/blob/v0.4.0/lib/riddler/screens/type/boolean_question.ex#L1)

A question a visitor answers yes or no: a lone checkbox or toggle.

`label` is what the visitor is asked or agrees to, and it is a template.
The response is `true` or `false`. `required` defaults to false, and true
means the response must be `true` - the shape of "tick to agree to the
borrowing rules", where an unticked box is the visitor declining rather than
an empty field. `format` is carried and never consulted. A boolean question
carries no `style`: one written on it is a field its type does not name, and
admission drops it.

    iex> node = %{type: "boolean_question", key: "agrees_to_rules", label: "I agree to the borrowing rules.", required: true}
    iex> Riddler.Screens.Type.BooleanQuestion.validate(node)
    []

    iex> node = %{type: "boolean_question", key: "agrees_to_rules", label: "I agree to the borrowing rules.", required: "yes"}
    iex> [finding] = Riddler.Screens.Type.BooleanQuestion.validate(node)
    iex> {finding.code, finding.field}
    {"document.invalid_required", "required"}

---

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