joi enum typescript Валидация значения - из перечислимого типа, один из нескольких енамов
Primary tabs
Пусть у нас есть некий enum ColumnType и мы хотим ограничить его знчениями некое поле field, тогда вариант :
export const valuesByFieldDtoSchema = joi.object({ field: joi.string().allow(ColumnType).required(),
-- работать не будет.
Рабочим решением является вариант:
export const valuesByFieldDtoSchema = joi.object({ field: joi .string() .valid(...Object.values(ColumnType)) .required(),
Выбор из нескольких enum-ов
Если в качестве значения нам подходят варианты не из одного энама, а сразу из нескольких, не проблема, перечислим их в valid (принимает произвольное множество аргументов):
export const valuesByFieldDtoSchema = joi.object({ field: joi .string() .valid(...Object.values(ColumnType), ...Object.values(ColumnTypeSecond)) .required(),
- Log in to post comments
- 1149 reads