檢視原始碼 Phoenix.HTML.FormData 協議 (Phoenix.HTML v4.1.1)
將資料結構轉換為 Phoenix.HTML.Form
結構。
Ecto 整合
Phoenix 提供表單與 Ecto 變更集及資料結構的整合,整合方式透過 phoenix_ecto 套件。如果專案是在沒有 Ecto 支援的情況下建立,需要手動加入這個相依性。
摘要
函數
傳回會應用到給定欄位的 HTML5 驗證事項。
傳回給定欄位的值。
將資料結構轉換為 Phoenix.HTML.Form
結構。
將給定表單中的欄位,根據資料結構轉換為 Phoenix.HTML.Form
結構。
類型
函數
@spec input_validations(t(), Phoenix.HTML.Form.t(), Phoenix.HTML.Form.field()) :: Keyword.t()
傳回會應用到給定欄位的 HTML5 驗證事項。
@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 為前綴
@spec to_form(t(), Phoenix.HTML.Form.t(), Phoenix.HTML.Form.field(), Keyword.t()) :: [ Phoenix.HTML.Form.t() ]
將給定表單中的欄位,根據資料結構轉換為 Phoenix.HTML.Form
結構。
選項意義由底層實作來定義,但預期所有共用選項都會實作。所有其他選項都必須儲存在傳回的結構中。
共用選項
:id
- 表單要用的 id,預設為給定的field
與父表單 id 的串聯:as
- 表單要用的名稱,預設為給定的field
與父表單名稱的串聯:default
- 當沒有可使用的值時所使用的值:prepend
- 渲染時加到前面的值。這僅適用於該欄位值是清單時,而且沒透過表單傳送任何參數時。:append
- 渲染時加到後面的值。這僅適用於該欄位值是清單時,而且沒透過表單傳送任何參數時。:action
- 表單執行的使用者定義的動作,例如:validate
、:save
等。