В своем вопросе вы сказали, что «длина имени должна быть не менее 3», но применили правило max в вашей схеме.
Также вы забыли добавить скобки после требуемого.
Вам это нужно схема с `` min, пустыми и обязательными правилами.
const schema = Joi.object({
name: Joi.string()
.min(3)
.empty()
.required()
.messages({
"string.min": `Name should be min {#limit} characters..`,
"string.empty": "Name cannot be an empty field",
"any.required": "Name is required"
})
});
Case1 : без поля имени
Запрос:
{
}
Ответ:
{
"error": "Name is required"
}
Case2 : имя не указано
Запрос:
{
"name": ""
}
Ответ:
{
"error": "Name cannot be an empty field"
}
Case3 : имя состоит из 2 символов
Запрос:
{
"name": "AB"
}
Ответ:
{
"error": "Name should be min 3 characters.."
}
Также убедитесь, что вы отправляете тело запроса в необработанном виде JSON вот так:
Также убедитесь, что у вас есть этот Content-Type
заголовок со значением application/json