檢視原始碼 Phoenix.HTML.FormData 協議 (Phoenix.HTML v4.1.1)

將資料結構轉換為 Phoenix.HTML.Form 結構。

Ecto 整合

Phoenix 提供表單與 Ecto 變更集及資料結構的整合,整合方式透過 phoenix_ecto 套件。如果專案是在沒有 Ecto 支援的情況下建立,需要手動加入這個相依性。

摘要

類型

t()

所有實作這個協定的類型。

函數

傳回會應用到給定欄位的 HTML5 驗證事項。

傳回給定欄位的值。

將資料結構轉換為 Phoenix.HTML.Form 結構。

將給定表單中的欄位,根據資料結構轉換為 Phoenix.HTML.Form 結構。

類型

@type t() :: term()

所有實作這個協定的類型。

函數

連結到這個函數

input_validations(資料, 表單, 欄位)

檢視原始碼
@spec input_validations(t(), Phoenix.HTML.Form.t(), Phoenix.HTML.Form.field()) ::
  Keyword.t()

傳回會應用到給定欄位的 HTML5 驗證事項。

連結到這個函數

input_value(資料, 表單, 欄位)

檢視原始碼
@spec input_value(t(), Phoenix.HTML.Form.t(), Phoenix.HTML.Form.field()) :: term()

傳回給定欄位的值。

@spec to_form(t(), Keyword.t()) :: Phoenix.HTML.Form.t()

將資料結構轉換為 Phoenix.HTML.Form 結構。

選項意義由底層實作來定義,但預期所有共用選項都會實作。所有其他選項都必須儲存在傳回的結構中。

共用選項

  • :as - 做為表單名稱的值

  • :id - 表單屬性的 ID。所有表單輸入會加上此 ID 為前綴

連結到這個函數

to_form(資料, 表單, 欄位, 選項)

檢視原始碼

將給定表單中的欄位,根據資料結構轉換為 Phoenix.HTML.Form 結構。

選項意義由底層實作來定義,但預期所有共用選項都會實作。所有其他選項都必須儲存在傳回的結構中。

共用選項

  • :id - 表單要用的 id,預設為給定的 field 與父表單 id 的串聯

  • :as - 表單要用的名稱,預設為給定的 field 與父表單名稱的串聯

  • :default - 當沒有可使用的值時所使用的值

  • :prepend - 渲染時加到前面的值。這僅適用於該欄位值是清單時,而且沒透過表單傳送任何參數時。

  • :append - 渲染時加到後面的值。這僅適用於該欄位值是清單時,而且沒透過表單傳送任何參數時。

  • :action - 表單執行的使用者定義的動作,例如 :validate:save 等。