表單
表單是一組允許使用者將資料提交到伺服器的輸入欄位,並支援提供欄位驗證錯誤。
安裝
以上命令僅用於單獨安裝。如果已全域安裝 @nextui-org/react
,您可以跳過此步驟。
匯入
用法
結構
一個 Form
是一個輸入元素和提交/重置按鈕的容器,支援驗證訊息。當使用 aria-label
或 aria-labelledby
標記時,它會成為輔助技術可導航的 表單地標。
事件
當使用者按下 Enter
鍵或按下提交按鈕提交表單時,將觸發 onSubmit
事件。當使用者按下重置按鈕時,將觸發 onReset 事件。
驗證
Form
支援具有可自訂 UI、自訂驗證函數和伺服器端驗證的原生 HTML 約束驗證。伺服器端驗證錯誤可以透過 validationErrors
屬性作為將欄位名稱對應到錯誤訊息的物件提供,當使用者修改欄位時,這些錯誤訊息會被清除。
請參閱表單指南,以瞭解有關表單驗證(包括客戶端驗證)以及與其他框架和程式庫整合的更多資訊。
驗證行為
Form
的驗證預設使用 ARIA 屬性,但可以透過設定 validationBehavior="native"
來切換為原生 HTML 驗證。ARIA 驗證會即時顯示錯誤,而不會阻止表單提交。這可以在表單或欄位層級設定。
無障礙性
- 使用原生 HTML
<form>
元素建構,並支援 ARIA 標籤來建立一個表單地標。 - 完整支援瀏覽器功能,例如表單自動填寫。
- 支援原生 HTML 約束驗證,具有可自訂的 UI、自訂驗證函數、即時驗證和伺服器端驗證錯誤。
API
表單屬性
屬性 | 類型 | 預設值 |
children |
| |
validationBehavior |
| "aria" |
validationErrors |
| |
action |
| |
encType |
| |
method |
| |
target |
| |
autoComplete |
| |
autoCapitalize |
| |
className |
| |
style |
|