23 lines
999 B
JavaScript
23 lines
999 B
JavaScript
import { setLocale } from 'yup'
|
|
|
|
import { fields } from '@/constants/fields'
|
|
|
|
const label = (path) => fields[path] || path
|
|
|
|
setLocale({
|
|
mixed: {
|
|
required: ({ path }) => `فیلد ${label(path)} ضروری است`,
|
|
},
|
|
string: {
|
|
min: ({ path, min }) => `فیلد ${label(path)} باید حداقل ${min} کاراکتر باشد`,
|
|
max: ({ path, max }) => `فیلد ${label(path)} باید حداکثر ${max} کاراکتر باشد`,
|
|
email: ({ path }) => `فیلد ${label(path)} باید یک ایمیل معتبر باشد`,
|
|
url: ({ path }) => `فیلد ${label(path)} باید یک URL معتبر باشد`,
|
|
length: ({ path, length }) => `فیلد ${label(path)} باید دقیقا ${length} کاراکتر باشد`,
|
|
},
|
|
array: {
|
|
min: ({ path, min }) => `فیلد ${label(path)} باید حداقل ${min} آیتم داشته باشد`,
|
|
max: ({ path, max }) => `فیلد ${label(path)} باید حداکثر ${max} آیتم داشته باشد`,
|
|
},
|
|
})
|