Node.js 使用`$merge时出现Ajv架构验证错误`

Node.js 使用`$merge时出现Ajv架构验证错误`,node.js,ajv,Node.js,Ajv,当结合使用ajv和ajv合并修补程序时,如果存在一个验证错误,数据验证也会返回以下错误 should pass "$merge" keyword validation 作为验证错误。 但当没有验证错误时,它返回空 const Ajv = require('ajv'); let ajv = new Ajv({ useDefaults: true, removeAdditional: true }); require('ajv-merge-patch')(ajv); let schema = {

当结合使用
ajv
ajv合并修补程序
时,如果存在一个验证错误,数据验证也会返回以下错误

should pass "$merge" keyword validation
作为验证错误。 但当没有验证错误时,它返回空

const Ajv = require('ajv');
let ajv = new Ajv({ useDefaults: true, removeAdditional: true });
require('ajv-merge-patch')(ajv);

let schema = {
  $id: 'Job',
  type: 'object',
  properties: {
    title: { type: 'string' },
  },
  additionalProperties: false,
};
ajv.addSchema(schema);

const createSchema = {
  $merge: {
    source: { $ref: 'Job' },
    with: {
      required: [
        'title',
      ],
    },
  },
};
const createValidator = ajv.compile(createSchema);

const data = {
  title: '',
};

if (!createValidator(data)) {
  console.log(createValidator.errors);
}

您的代码按预期工作;我看不出有什么问题here@customcommander我再次检查了它,如果我有错误,它也会发送这个错误。我将更新问题。您的代码按预期工作;我看不出有什么问题here@customcommander我再次检查了它,如果我有错误,它也会发送这个错误。我会更新这个问题。