查看源代码 Phoenix.HTML.FormData 协议 (Phoenix.HTML v4.1.1)

将数据结构转换为 Phoenix.HTML.Form 结构。

Ecto 集成

Phoenix 通过 phoenix_ecto 包提供了表单与 Ecto changesets 和数据结构的集成。如果项目是在没有 Ecto 支持的情况下生成的,则需要手动添加该依赖项。

概要

类型

t()

所有实现此协议的类型。

函数

返回应用于给定字段的 HTML5 验证。

返回给定字段的值。

将数据结构转换为 Phoenix.HTML.Form 结构。

根据数据结构将给定表单中的字段转换为 Phoenix.HTML.Form 结构列表。

类型

@type t() :: term()

所有实现此协议的类型。

函数

链接到此函数

input_validations(data, form, field)

查看源代码
@spec input_validations(t(), Phoenix.HTML.Form.t(), Phoenix.HTML.Form.field()) ::
  Keyword.t()

返回应用于给定字段的 HTML5 验证。

链接到此函数

input_value(data, form, field)

查看源代码
@spec input_value(t(), Phoenix.HTML.Form.t(), Phoenix.HTML.Form.field()) :: term()

返回给定字段的值。

链接到此函数

to_form(data, options)

查看源代码
@spec to_form(t(), Keyword.t()) :: Phoenix.HTML.Form.t()

将数据结构转换为 Phoenix.HTML.Form 结构。

选项的含义由底层实现定义,但以下所有共享选项都应该被实现。所有剩余选项必须存储在返回的结构中。

共享选项

  • :as - 用作表单名称的值

  • :id - 表单属性的 ID。所有表单输入将以给定的 ID 为前缀

链接到此函数

to_form(data, form, field, options)

查看源代码

根据数据结构将给定表单中的字段转换为 Phoenix.HTML.Form 结构列表。

选项的含义由底层实现定义,但以下所有共享选项都应该被实现。所有剩余选项必须存储在返回的结构中。

共享选项

  • :id - 用于表单的 id,默认为给定 field 与父表单 id 的串联

  • :as - 用于表单的名称,默认为给定 field 与父表单名称的串联

  • :default - 如果没有可用值,则使用此值

  • :prepend - 渲染时要添加的值。这仅在字段值为列表且没有参数通过表单发送时适用。

  • :append - 渲染时要添加的值。这仅在字段值为列表且没有参数通过表单发送时适用。

  • :action - 由表单执行的用户定义的操作,例如 :validate:save 等。