Capítulo 33 de 39
ErrorMessage (separate @hookform/error-message package) is a small component that renders a field's error message(s) without you writing errors.field?.message conditionals by hand.
npm install @hookform/error-message — not bundled in core.errors is optional when inside FormProvider.as="span", as={<Text />}).{ message, messages? }; messages (plural) is only populated when criteriaMode: "all" is set on the form, letting one field show every failed rule at once instead of just the first.<ErrorMessage errors={errors} name="singleErrorInput" />
<ErrorMessage errors={errors} name="singleErrorInput" render={({ message }) => <p>{message}</p>} />
// useForm({ criteriaMode: "all" }) + register with multiple rule messages
<ErrorMessage
errors={errors}
name="multipleErrorInput"
render={({ messages }) =>
messages && Object.entries(messages).map(([type, message]) => <p key={type}>{message}</p>)
}
/>
criteriaMode: "all".messages (plural) to populate without criteriaMode: "all": only message (singular, first error) is available otherwise.ErrorMessage is sugar over errors.<name>?.message — use it when you don't need custom conditional logic.criteriaMode: "all" on the form and the messages (plural) render-prop argument.errors object this component reads.types + criteriaMode: "all" is the manual-error equivalent of what this component renders declaratively.