</> ErrorMessage:
Component
해당 입력 필드의 에러 메시지를 렌더링하는 간단한 컴포넌트입니다.
npm install @hookform/error-message
Props
Name | Type | Required | Description |
---|---|---|---|
name | string | ✓ | 필드의 이름. |
errors | object | React Hook Form에서 제공하는 errors 객체. FormProvider 를 사용 중이라면 선택 사항. | |
message | string | React.ReactElement | 인라인 에러 메시지. | |
as | React.ElementType | string | 래퍼 컴포넌트 혹은 HTML 태그. 예: as="span" 또는 as={<Text />} | |
render | ({ message: string | React.ReactElement, messages?: Object}) => any | 에러 메시지 또는 여러 메시지를 렌더링하기 위한 render prop. 참고: messages 를 사용하려면 criteriaMode 를 'all'로 설정해야 합니다. |
Examples:
단일 에러 메시지
import React from "react"import { useForm } from "react-hook-form"import { ErrorMessage } from "@hookform/error-message"interface FormInputs {singleErrorInput: string}export default function App() {const {register,formState: { errors },handleSubmit,} = useForm<FormInputs>()const onSubmit = (data: FormInputs) => console.log(data)return (<form onSubmit={handleSubmit(onSubmit)}><input{...register("singleErrorInput", { required: "This is required." })}/><ErrorMessage errors={errors} name="singleErrorInput" /><ErrorMessageerrors={errors}name="singleErrorInput"render={({ message }) => <p>{message}</p>}/><input type="submit" /></form>)}
다중 에러 메시지
import React from "react"import { useForm } from "react-hook-form"import { ErrorMessage } from "@hookform/error-message"interface FormInputs {multipleErrorInput: string}export default function App() {const {register,formState: { errors },handleSubmit,} = useForm<FormInputs>({criteriaMode: "all",})const onSubmit = (data: FormInputs) => console.log(data)return (<form onSubmit={handleSubmit(onSubmit)}><input{...register("multipleErrorInput", {required: "This is required.",pattern: {value: /d+/,message: "This input is number only.",},maxLength: {value: 10,message: "This input exceed maxLength.",},})}/><ErrorMessageerrors={errors}name="multipleErrorInput"render={({ messages }) =>messages &&Object.entries(messages).map(([type, message]) => (<p key={type}>{message}</p>))}/><input type="submit" /></form>)}
지원해 주셔서 감사합니다
프로젝트에서 React Hook Form이 유용하다고 생각하신다면, 스타를 눌러 지원해 주시길 부탁드립니다.