如何让Joi校验提示仅显示自定义Label内容?
自定义Joi校验错误提示内容
当前使用的Joi校验代码如下:
example: Joi.boolean() .required() .invalid(false) .label('Disclaimer Checkbox'),
触发校验后得到的提示为“Disclaimer checkbox contains invalid value”,需求是仅显示自定义标签内容,且翻译成中文。
修改方案
通过Joi的messages()方法覆盖默认错误信息,指定any.invalid规则的提示内容为自定义标签即可:
example: Joi.boolean() .required() .invalid(false) .label('免责声明复选框') .messages({ 'any.invalid': '{{#label}}' }),
这样当校验触发invalid规则时,提示将仅显示“免责声明复选框”。如果需要同时处理required规则的提示(比如未勾选时),可以在messages中添加'any.required': '{{#label}}',统一提示格式。
内容的提问来源于stack exchange,提问作者Rupesh Pathak
相关产品推荐
相关产品推荐

