formex v0.3.2 Formex.Field

Summary

Types

t()
t() :: %Formex.Field{data: term, label: term, name: term, opts: term, phoenix_opts: term, required: term, type: term, value: term}

Functions

__struct__()

Defines the Formex.Field struct.

  • :name - a field name, for example: :title
  • :type - a type of a field that in most cases will be the name of a function from Phoenix.HTML.Form
  • :value - the value from struct/params
  • :required - is field required?
  • :label - the text label
  • :data - additional data used by particular field type (eg. :select stores here data for <option>’s)
  • :opts - options
  • :phoenix_opts - options that will be passed to Phoenix.HTML.Form
create_field(form, type, name, opts \\ [])

Creates a new field.

type is the name of function from Phoenix.HTML.Form.

Options

  • :label
  • :required - defaults to true. If set, it will be validated by the Ecto.Changeset.validate_required/4. Also, the template helper will use it to generate an additional .required CSS class.
  • :choices - list of <option>s for :select and :multiple_select

    form
    |> add(:select, :field, choices: ["Option 1": 1, "Options 2": 2])
  • :phoenix_opts - options that will be passed to Phoenix.HTML.Form, for example:

    form
    |> add(:textarea, :content, phoenix_opts: [
      rows: 4
    ])
prepare_opts(opts)
prepare_phoenix_opts(opts)