trigger:
(name?: string | string[]) => Promise<boolean>
フォームまたは入力のバリデーションを手動でトリガーします。このメソッドは、依存関係のあるバリデーション(入力バリデーションが別の入力の値に依存する)がある場合にも役立ちます。
プロパティ
名前 | 型 | 説明 | 例 |
---|---|---|---|
name | undefined | すべてのフィールドのバリデーションをトリガーします。 | trigger() |
string | **name**で指定された特定のフィールドのバリデーションをトリガーします。 | trigger("yourDetails.firstName") | |
string[] | **name**で指定された複数のフィールドのバリデーションをトリガーします。 | trigger(["yourDetails.lastName"]) | |
shouldFocus | boolean | エラー設定時に入力にフォーカスするかどうか。これは、入力の参照が登録されている場合にのみ機能し、カスタム登録では機能しません。 | trigger('name', { shouldFocus: true }) |
ルール
単一フィールド名を`string`として指定した場合にのみ適用可能なレンダリング最適化。`array`および`undefined`を指定してトリガーすると、formState全体が再レンダリングされます。
例
import React from "react"import { useForm } from "react-hook-form"type FormInputs = {firstName: stringlastName: string}export default function App() {const {register,trigger,formState: { errors },} = useForm<FormInputs>()return (<form><input {...register("firstName", { required: true })} /><input {...register("lastName", { required: true })} /><buttontype="button"onClick={() => {trigger("lastName")}}>Trigger</button><buttontype="button"onClick={() => {trigger(["firstName", "lastName"])}}>Trigger Multiple</button><buttontype="button"onClick={() => {trigger()}}>Trigger All</button></form>)}
動画
以下の動画で`trigger` APIについて詳しく説明しています。
ご支援ありがとうございます
React Hook Formがプロジェクトで役立つと感じた場合は、スターを付けてサポートをご検討ください。