diff --git a/src/content/docs/usecontroller/controller.mdx b/src/content/docs/usecontroller/controller.mdx index 74ddb7360..c761466d9 100644 --- a/src/content/docs/usecontroller/controller.mdx +++ b/src/content/docs/usecontroller/controller.mdx @@ -23,6 +23,7 @@ React Hook Form은 비제어 컴포넌트와 기본 입력 요소를 지향하 | `shouldUnregister` | boolean = false` | | 입력 값은 언마운트 후에 등록이 해제(unregistered)되며, 기본값도 제거됩니다.

**참고:** 이 prop은 `useFieldArray`와 함께 사용하지 않아야 합니다. 입력 값이 언마운트/리마운트 및 재정렬된 후에 `unregister`함수가 호출되기 때문입니다. | | `disabled` | boolean = false` | | `disabled` prop은 `field` prop에서 반환됩니다. 제어 입력 필드는 비활성화되며, 그 값은 제출 데이터에서 제외됩니다. | | `defaultValue` | unknown | | **중요:** `useForm`의 `defaultValues` 또는 `defaultValue`에 `undefined`를 적용할 수 없습니다. | +| `exact` | boolean = false | | 이 속성(prop)은 인풋 이름 구독에 대한 정확한 일치를 활성화하며, 기본값은 true입니다. | `exact` | boolean = false | | 이 속성은 인풋 이름 구독에 대해 정확한 일치를 활성화합니다. 기본값은 `true`입니다. | ### Return diff --git a/src/content/docs/useform.mdx b/src/content/docs/useform.mdx index 99c076eff..151e798cd 100644 --- a/src/content/docs/useform.mdx +++ b/src/content/docs/useform.mdx @@ -94,8 +94,10 @@ sidebar: apiLinks | [criteriaMode](#criteriaMode) | 모든 유효성 검사 에러를 한 번에 노출하거나 하나씩 노출. | | [shouldFocusError](#shouldFocusError) | 내장된 포커스 관리를 활성화하거나 비활성화. | | [delayError](#delayError) | 에러가 즉시 나타나는 것을 지연. | +| [validate](#validate) | 폼 수준 검증은 내장 검증 메서드로 제한됩니다. | | [shouldUseNativeValidation](#shouldUseNativeValidation) | 브라우저 내장 폼 제약 조건 API 사용. | | [shouldUnregister](#shouldUnregister) | 언마운트 후 입력의 등록 취소(unregister)를 활성화하거나 비활성화. | +| [progressive](/docs/useform/form) | `Form` 컴포넌트를 사용할 때 네이티브 폼 제출에 대한 점진적 개선을 활성화합니다. | | [disabled](#disabled) | 전체 폼과 해당 폼에 포함된 모든 입력을 비활성화합니다. | **스키마 유효성 검사 속성:** @@ -277,6 +279,39 @@ useForm({ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | | 이 설정은 에러 상태가 사용자에게 표시되는 것을 지정된 밀리초만큼 지연시킵니다. 만약 사용자가 에러가 발생한 입력을 수정하면 에러는 즉시 제거되며, 지연이 적용되지 않습니다. | | +#### validate: Function {#validate} + +--- + +이 예제는 **새로운 `validate` API**를 `useForm`과 결합하여 **폼 수준 검증**을 React 애플리케이션에서 수행하는 방법을 보여줍니다. + +`validate` 함수는 전체 폼 객체를 수신하며, `formState.errors`와 통합되는 **구조화된 에러**를 반환할 수 있습니다. + +**Examples:** + +--- + +```javascript copy +const { + register, + formState: { errors }, +} = useForm({ + validate: async ({ formValues }: FormValidateResult) => { + if (formValues.test1.length > formValues.test.length) { + return { + type: "formError", + message: "무언가 잘못되었습니다.", + } + } + + if (formValue.test === "test") { + return "직접적인 에러 메시지" + } + + return true + }, +}) + #### shouldUnregister: boolean = false {#shouldUnregister} --- diff --git a/src/content/docs/useform/clearerrors.mdx b/src/content/docs/useform/clearerrors.mdx index 656695d11..28c2ddb93 100644 --- a/src/content/docs/useform/clearerrors.mdx +++ b/src/content/docs/useform/clearerrors.mdx @@ -32,8 +32,8 @@ sidebar: apiLinks -- 이 메서드는 각 입력 필드에 연결된 유효성 검사 규칙에는 영향을 주지 않습니다. -- 이 메서드는 유효성 검사 규칙이나 `isValid` formState에는 영향을 미치지 않습니다. +- 이 메서드는 인풋에 연결된 검증 규칙에 영향을 주지 않으며, formState.isValid에 영향을 미치지 않습니다. + diff --git a/src/content/docs/useform/handlesubmit.mdx b/src/content/docs/useform/handlesubmit.mdx index 4d2b9e043..49852112c 100644 --- a/src/content/docs/useform/handlesubmit.mdx +++ b/src/content/docs/useform/handlesubmit.mdx @@ -19,15 +19,6 @@ sidebar: apiLinks -- handleSubmit을 사용하면 폼을 비동기적으로 쉽게 제출할 수 있습니다. - - ```javascript copy - handleSubmit(onSubmit)() - - // 비동기 유효성 검사를 위해 async 함수를 전달할 수 있습니다. - handleSubmit(async (data) => await fetchAPI(data)) - ``` - - `disabled`된 입력은 폼 값에서 `undefined`로 나타납니다. 입력을 사용자가 수정하지 못하게 하면서 값을 유지하려면, `readOnly`를 사용하거나 전체 <fieldset />을 disabled할 수 있습니다. [예시](https://codesandbox.io/s/react-hook-form-disabled-inputs-oihxx)를 참고하세요. - `handleSubmit` 함수는 onSubmit 콜백 내부에서 발생한 에러를 처리하지 않으므로, 비동기 요청에서 에러를 처리할 때는 try-catch를 사용하여 유저에게 에러를 친절하게 처리해 주는 것을 권장합니다. diff --git a/src/content/docs/useform/register.mdx b/src/content/docs/useform/register.mdx index e2f4f7a79..7e4c14730 100644 --- a/src/content/docs/useform/register.mdx +++ b/src/content/docs/useform/register.mdx @@ -102,32 +102,28 @@ By selecting the register option, the API table below will get updated.