コンテンツへスキップ

トリガー

フォーム全体のバリデーションをトリガーする

trigger: (name?: string | string[]) => Promise<boolean>

フォームまたは入力のバリデーションを手動でトリガーします。このメソッドは、依存関係のあるバリデーション(入力バリデーションが別の入力の値に依存する)がある場合にも役立ちます。

プロパティ


名前説明
nameundefinedすべてのフィールドのバリデーションをトリガーします。trigger()
string**name**で指定された特定のフィールドのバリデーションをトリガーします。trigger("yourDetails.firstName")
string[]**name**で指定された複数のフィールドのバリデーションをトリガーします。trigger(["yourDetails.lastName"])
shouldFocusbooleanエラー設定時に入力にフォーカスするかどうか。これは、入力の参照が登録されている場合にのみ機能し、カスタム登録では機能しません。trigger('name', { shouldFocus: true })
ルール

単一フィールド名を`string`として指定した場合にのみ適用可能なレンダリング最適化。`array`および`undefined`を指定してトリガーすると、formState全体が再レンダリングされます。


import React from "react"
import { useForm } from "react-hook-form"
type FormInputs = {
firstName: string
lastName: string
}
export default function App() {
const {
register,
trigger,
formState: { errors },
} = useForm<FormInputs>()
return (
<form>
<input {...register("firstName", { required: true })} />
<input {...register("lastName", { required: true })} />
<button
type="button"
onClick={() => {
trigger("lastName")
}}
>
Trigger
</button>
<button
type="button"
onClick={() => {
trigger(["firstName", "lastName"])
}}
>
Trigger Multiple
</button>
<button
type="button"
onClick={() => {
trigger()
}}
>
Trigger All
</button>
</form>
)
}
import React from "react"
import { useForm } from "react-hook-form"
export default function App() {
const {
register,
trigger,
formState: { errors },
} = useForm()
return (
<form>
<input {...register("firstName", { required: true })} />
<input {...register("lastName", { required: true })} />
<button
type="button"
onClick={async () => {
const result = await trigger("lastName")
// const result = await trigger("lastName", { shouldFocus: true }); allowed to focus input
}}
>
Trigger
</button>
<button
type="button"
onClick={async () => {
const result = await trigger(["firstName", "lastName"])
}}
>
Trigger Multiple
</button>
<button
type="button"
onClick={() => {
trigger()
}}
>
Trigger All
</button>
</form>
)
}

動画


以下の動画で`trigger` APIについて詳しく説明しています。

ご支援ありがとうございます

React Hook Formがプロジェクトで役立つと感じた場合は、スターを付けてサポートをご検討ください。