请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

ajv这个包已经更新到7.0版本了,用法和课中6.0版本讲的不一样,会报错

正在回答 回答被采纳积分+3

2回答

xiexin 2021-02-21 18:05:59

我查了官方文档,可以这样写

const Ajv = require('ajv').default
const addFormats = require('ajv-formats')

const schema = {
  type: 'object',
  properties: {
    name: {
      type: 'string',
      format: 'email',
      //   minLength: 2,
    },
    age: {
      type: 'number',
    },
    pets: {
      type: 'array',
    },
    isWorker: {
      type: 'boolean',
    },
  },
  required: ['name', 'age'],
}

const data = {
  name: 'sam@163.com',
  age: 18,
  pets: ['mama', 'mimi'],
  isWorker: true,
}

const ajv = new Ajv() // options can be passed, e.g. {allErrors: true}
addFormats(ajv, ['email']) // list 为要在schema的json串中使用的keyword,用什么就写什么,这里之用到email就写email
const validate = ajv.compile(schema)
const valid = validate(data)
if (!valid) console.log(validate.errors)


1 回复 有任何疑惑可以回复我~
Jokcy 2020-12-19 22:22:36

啊这。。。万年不更新的ajv都在这个时间更新新版本么

0 回复 有任何疑惑可以回复我~
  • xiexin #1
    是啊老师,我也遇到这个问题了,现在format不是这样用了,能否更新下这个地方的课程?
    回复 有任何疑惑可以回复我~ 2021-02-21 17:33:11
  • Jokcy 回复 xiexin #2
    你可以用v6版本的,毕竟v6用了这么多年,很稳定
    回复 有任何疑惑可以回复我~ 2021-02-21 21:04:51
  • xiexin 回复 Jokcy #3
    好的??
    回复 有任何疑惑可以回复我~ 2021-02-21 21:18:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信