1

我正在尝试使用另一个 json 模式验证器(AJV),当我使用像这样的纯 java 脚本时,提供的示例代码在 JSFiddle 中运行良好

AJV 测试 - 没有库的 JSFiddle(纯 javascript)

var ajv = Ajv({allErrors: true});

var schema = {
  "properties": {
    "foo": { "type": "string" },
    "bar": { "type": "number", "maximum": 3 }
  }
};

var validate = ajv.compile(schema);

test({"foo": "abc", "bar": 2});
test({"foo": 2, "bar": 4});

function test(data) {
  var valid = validate(data);
  if (valid) console.log('Valid!');
  else console.log('Invalid: ' + ajv.errorsText(validate.errors));
}

但是当我尝试将与上面相同的代码与 Dojo 结合使用时

AJV 测试 - 使用 Dojo 1.10.4 的 JSFiddle

我收到这个错误

fiddle.jshell.net/pbq2yjxy/18/show/:50 Uncaught ReferenceError: Ajv is not defined

如何在 Dojo 中使用 AJV 库?

4

1 回答 1

0

全局 require 由 browserify 提供,它与 Dojo 冲突。解决方案是在 Dojo 之前加载 Ajv。在这里解决了:https ://github.com/epoberezkin/ajv/issues/234

于 2016-10-20T20:58:11.457 回答