Joi 模式自定义验证程序未执行

Joi schema custom validator is not executing

提问人:Madhava Reddy 提问时间:9/15/2023 最后编辑:Madhava Reddy 更新时间:9/15/2023 访问量:24

问:

如果字段值 (name) 为空 string(''),我希望 Joi 架构返回 null。为什么以下 Joi 架构中的自定义验证器逻辑不运行?

我注意到,如果键的值为空字符串(''),则自定义验证程序不会执行。有解决此问题的办法吗?

const Joi = require('joi');

const schema = Joi.object()
  .keys({
    name: Joi.string().optional().trim().allow(null, '').custom((value, helpers) => {
      console.log('-------------------', value)
      if (value === '') {
        return null;
      }
      return value;
    }),
  });

// steps to run
const input = {
  name: '', // Empty string
};

const result = schema.validate(input);
console.log(input, result.value);
// expected: {name: null}
// actual: {name: ''}

JavaScript 节点.js JOI

评论


答: 暂无答案