|
123456789101112131415161718192021222324252627282930313233343536 |
- import { useCallback } from 'react'
- import { useTranslation } from 'react-i18next'
- import type { FormSchema } from '../types'
-
- export const useGetValidators = () => {
- const { t } = useTranslation()
- const getValidators = useCallback((formSchema: FormSchema) => {
- const {
- name,
- validators,
- required,
- } = formSchema
- let mergedValidators = validators
- if (required && !validators) {
- mergedValidators = {
- onMount: ({ value }: any) => {
- if (!value)
- return t('common.errorMsg.fieldRequired', { field: name })
- },
- onChange: ({ value }: any) => {
- if (!value)
- return t('common.errorMsg.fieldRequired', { field: name })
- },
- onBlur: ({ value }: any) => {
- if (!value)
- return t('common.errorMsg.fieldRequired', { field: name })
- },
- }
- }
- return mergedValidators
- }, [t])
-
- return {
- getValidators,
- }
- }
|