24 lines
627 B
TypeScript
24 lines
627 B
TypeScript
'use client'
|
|
|
|
import { useFormFields, useFormSubmitted } from '@payloadcms/ui/forms/Form'
|
|
import { useField } from '@payloadcms/ui/forms/useField'
|
|
import React from 'react'
|
|
|
|
const CustomError: React.FC<any> = (props) => {
|
|
const { path: pathFromProps } = props
|
|
const submitted = useFormSubmitted()
|
|
const { path } = useField(pathFromProps)
|
|
const field = useFormFields(([fields]) => (fields && fields?.[path]) || null)
|
|
const { valid } = field || {}
|
|
|
|
const showError = submitted && !valid
|
|
|
|
if (showError) {
|
|
return <div className="custom-error">#custom-error</div>
|
|
}
|
|
|
|
return null
|
|
}
|
|
|
|
export default CustomError
|