yup.setLocale({
mixed: {
// default: '',
required: (it: MessageParams) => ${getFieldName(it)} обязательно,
notType: (it: MessageParams) => {
const dict: Record<string, string> = {
number: ${getFieldName(it)} должно быть числом,
string: ${getFieldName(it)} должно быть строкой,
mixed: ${getFieldName(it)} не соответствует типу,
date: ${getFieldName(it)} должно быть датой,
boolean: ${getFieldName(it)} должно быть булевым значением,
object: ${getFieldName(it)} должно быть объектом,
array: ${getFieldName(it)} должно быть массивом,
tuple: ${getFieldName(it)} должно быть кортежем,
};
const message = dict[it.type];
if (message === undefined) throw new Error('unknown type for internationalization');
return message;
},
oneOf: (it) => ${getFieldName(it)} должно быть одним из следующих значений: ${it.values},
notOneOf: (it) => ${getFieldName(it)} не должно быть одним из следующих значений: ${it.values},
notNull: (it) => ${getFieldName(it)} не должно равняться null,
defined: (it) => ${getFieldName(it)} должно быть определено,
},
number: {
min: (it) => ${getFieldName(it)} должно быть больше ${it.min},
max: (it) => ${getFieldName(it)} должно быть меньше ${it.max},
lessThan: (it) => ${getFieldName(it)} должно быть меньше ${it.less},
moreThan: (it) => ${getFieldName(it)} должно быть больше ${it.more},
positive: (it) => ${getFieldName(it)} должно быть больше ${it.more},
negative: (it) => ${getFieldName(it)} должно быть меньше ${it.less},
integer: (it) => ${getFieldName(it)} должно быть целым числом,
},
string: {
length: (it) => ${getFieldName(it)} должно быть длиной ${it.length},
min: (it) => ${getFieldName(it)} должно быть длиннее ${it.min},
max: (it) => ${getFieldName(it)} должно быть короче ${it.max},
matches: (it) => ${getFieldName(it)} должно соответвовать выражению ${it.regex},
email: (it) => ${getFieldName(it)} должно быть адресом email,
url: (it) => ${getFieldName(it)} должно быть валидным URL,
uuid: (it) => ${getFieldName(it)} должно быть валидным UUID,
// trim: (it) => ${getFieldName(it)} должно быть,
lowercase: (it) => ${getFieldName(it)} должно быть в нижнем регистре,
uppercase: (it) => ${getFieldName(it)} должно быть в верхнем регистре,
},
date: {},
boolean: {},
object: {},
array: {
length: (it) => ${getFieldName(it)} должно быть длиной ${it.length},
min: (it) => ${getFieldName(it)} должно быть длиннее ${it.min},
max: (it) => ${getFieldName(it)} должно быть короче ${it.max},
},
tuple: {},
});
yup.setLocale({ mixed: { // default: '', required: (it: MessageParams) =>
${getFieldName(it)} обязательно
, notType: (it: MessageParams) => { const dict: Record<string, string> = { number:${getFieldName(it)} должно быть числом
, string:${getFieldName(it)} должно быть строкой
, mixed:${getFieldName(it)} не соответствует типу
, date:${getFieldName(it)} должно быть датой
, boolean:${getFieldName(it)} должно быть булевым значением
, object:${getFieldName(it)} должно быть объектом
, array:${getFieldName(it)} должно быть массивом
, tuple:${getFieldName(it)} должно быть кортежем
, }; const message = dict[it.type]; if (message === undefined) throw new Error('unknown type for internationalization'); return message; }, oneOf: (it) =>${getFieldName(it)} должно быть одним из следующих значений: ${it.values}
, notOneOf: (it) =>${getFieldName(it)} не должно быть одним из следующих значений: ${it.values}
, notNull: (it) =>${getFieldName(it)} не должно равняться null
, defined: (it) =>${getFieldName(it)} должно быть определено
, }, number: { min: (it) =>${getFieldName(it)} должно быть больше ${it.min}
, max: (it) =>${getFieldName(it)} должно быть меньше ${it.max}
, lessThan: (it) =>${getFieldName(it)} должно быть меньше ${it.less}
, moreThan: (it) =>${getFieldName(it)} должно быть больше ${it.more}
, positive: (it) =>${getFieldName(it)} должно быть больше ${it.more}
, negative: (it) =>${getFieldName(it)} должно быть меньше ${it.less}
, integer: (it) =>${getFieldName(it)} должно быть целым числом
, }, string: { length: (it) =>${getFieldName(it)} должно быть длиной ${it.length}
, min: (it) =>${getFieldName(it)} должно быть длиннее ${it.min}
, max: (it) =>${getFieldName(it)} должно быть короче ${it.max}
, matches: (it) =>${getFieldName(it)} должно соответвовать выражению ${it.regex}
, email: (it) =>${getFieldName(it)} должно быть адресом email
, url: (it) =>${getFieldName(it)} должно быть валидным URL
, uuid: (it) =>${getFieldName(it)} должно быть валидным UUID
, // trim: (it) =>${getFieldName(it)} должно быть
, lowercase: (it) =>${getFieldName(it)} должно быть в нижнем регистре
, uppercase: (it) =>${getFieldName(it)} должно быть в верхнем регистре
, }, date: {}, boolean: {}, object: {}, array: { length: (it) =>${getFieldName(it)} должно быть длиной ${it.length}
, min: (it) =>${getFieldName(it)} должно быть длиннее ${it.min}
, max: (it) =>${getFieldName(it)} должно быть короче ${it.max}
, }, tuple: {}, });