Указание настраиваемых сообщений об ошибках при проверке строки в mongoose [дубликат]
Я пытаюсь проверить поле пола, которое может быть мужским или женским, поэтому я использовал валидатор mongoose "enum" для строк, но я не могу понять, как указать для него настраиваемое сообщение об ошибке.
Я попытался обернуть перечисление в массив, например:
enum: [["мужской", "женский"], "настраиваемое сообщение об ошибке]
Поскольку этот синтаксис поддерживается другими встроенными средствами проверки mongoose, но безрезультатно.
Я могу написать собственный валидатор, чтобы делать то же самое, используя регулярное выражение, но мне было интересно, не упускаю ли я чего-то, потому что кажется немного странным, что я не могу указать сообщение об ошибке, а документы мангуста немного скудны рассматривать
Ответы
Согласно документам, простого способа сделать это нет. Вам придется вручную запустить, doc.validateSync()
чтобы проверить наличие ошибок.
Однако, основываясь на решениях этого вопроса, это должно работать:
gender: {
type: String,
enum: {
values: ['male', 'female'],
message: 'Your error message'
}
}