form
parent
2572e99a4b
commit
d0ba7adf33
@ -1,2 +1,3 @@
|
|||||||
export * from './use-check-validated'
|
export * from './use-check-validated'
|
||||||
export * from './use-get-form-values'
|
export * from './use-get-form-values'
|
||||||
|
export * from './use-get-validators'
|
||||||
|
|||||||
@ -0,0 +1,36 @@
|
|||||||
|
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,
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue