hapijs / joi

The most powerful data validation library for JS
Other
20.95k stars 1.51k forks source link

Custom message for required field #3024

Open carlosleal89 opened 8 months ago

carlosleal89 commented 8 months ago

Runtime

node

Runtime version

18.19.0

Module version

17.12.2

Used with

React TS

Any other relevant information

No response

How can we help?

Hello! I'm trying to set a custom error message for a required field, but always show the default message. For example: message ""password" is not allowed to be empty"

Bellow you can see the schema.

export const loginValidator = Joi.object({
  email: Joi.string()
    .email({ tlds: { allow: false } })
    .message('"Email" inválido.')
    .required(),
  password: Joi.string()
    .min(6)
    .required()
    .messages({
      'string.min': 'Password deve conter pelo menos 4 caracteres',
      'any.required': 'Informe o password'
    })
})

The custom message set to 'string.min' is working as expected, but 'any.required' not.

AdarshBajpai67 commented 7 months ago

hey @carlosleal89 , can i work on this issue?

carlosleal89 commented 7 months ago

hey @carlosleal89 , can i work on this issue?

Hi. Yes, please :)

Nargonath commented 7 months ago

It works for me on Joi@17.11.0: https://runkit.com/nargonath/joi-messages-for-any-required

Running it on the website as well which uses 17.12.3 works so the problem might be somewhere else.

image