본문으로 건너뛰기

trigger

trigger: UseFormTrigger

폼 또는 입력 검증을 수동으로 실행합니다. 종속 검증(입력 검증이 다른 입력의 값에 의존하는 경우)에도 유용합니다. triggerPromise<boolean>을 반환하며, 대상 필드가 검증을 통과하면 true, 그렇지 않으면 false로 이행됩니다.

매개변수


이름타입설명예제
nameundefined모든 필드의 검증을 실행합니다.trigger()
stringname으로 지정한 필드 값의 검증을 실행합니다.trigger("yourDetails.firstName")
string[]name으로 지정한 여러 필드의 검증을 실행합니다.trigger(["yourDetails.lastName"])
shouldFocusbooleanv7.7.0부터 오류가 설정되면 입력에 포커스를 설정합니다. 입력의 참조가 등록된 경우에만 작동하며, 사용자 정의 register에도 작동하지 않습니다.trigger('name', { shouldFocus: true })
shouldTouchbooleanv7.87.0부터 검증 결과와 관계없이 대상 필드를 touched 상태로 표시합니다. 우회 방법으로 setValueshouldTouch 옵션을 사용하지 않고도 필드(또는 전체 폼)를 검증하면서 touched 상태로 표시할 때 유용합니다.trigger('name', { shouldTouch: true })
예제:

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>
)
}

동영상


다음 동영상에서는 trigger API를 자세히 설명합니다.