<img align="right" alt="Ajv logo" width="160" src="https://ajv.js.org/images/ajv_logo.png">
# Ajv: Another JSON Schema Validator
The fastest JSON Schema validator for Node.js and browser. Supports draft-04/06/07.
[![Build Status](https://travis-ci.org/ajv-validator/ajv.svg?branch=master)](https://travis-ci.org/ajv-validator/ajv)
[![npm](https://img.shields.io/npm/v/ajv.svg)](https://www.npmjs.com/package/ajv)
[![npm (beta)](https://img.shields.io/npm/v/ajv/beta)](https://www.npmjs.com/package/ajv/v/7.0.0-beta.0)
[![npm downloads](https://img.shields.io/npm/dm/ajv.svg)](https://www.npmjs.com/package/ajv)
[![Coverage Status](https://coveralls.io/repos/github/ajv-validator/ajv/badge.svg?branch=master)](https://coveralls.io/github/ajv-validator/ajv?branch=master)
[![Gitter](https://img.shields.io/gitter/room/ajv-validator/ajv.svg)](https://gitter.im/ajv-validator/ajv)
[![GitHub Sponsors](https://img.shields.io/badge/$-sponsors-brightgreen)](https://github.com/sponsors/epoberezkin)
## Ajv v7 beta is released
[Ajv version 7.0.0-beta.0](https://github.com/ajv-validator/ajv/tree/v7-beta) is released with these changes:
- to reduce the mistakes in JSON schemas and unexpected validation results, [strict mode](./docs/strict-mode.md) is added - it prohibits ignored or ambiguous JSON Schema elements.
- to make code injection from untrusted schemas impossible, [code generation](./docs/codegen.md) is fully re-written to be safe.
- to simplify Ajv extensions, the new keyword API that is used by pre-defined keywords is available to user-defined keywords - it is much easier to define any keywords now, especially with subschemas.
- schemas are compiled to ES6 code (ES5 code generation is supported with an option).
- to improve reliability and maintainability the code is migrated to TypeScript.
**Please note**:
- the support for JSON-Schema draft-04 is removed - if you have schemas using "id" attributes you have to replace them with "\$id" (or continue using version 6 that will be supported until 02/28/2021).
- all formats are separated to ajv-formats package - they have to be explicitely added if you use them.
See [release notes](https://github.com/ajv-validator/ajv/releases/tag/v7.0.0-beta.0) for the details.
To install the new version:
```bash
npm install ajv@beta
```
See [Getting started with v7](https://github.com/ajv-validator/ajv/tree/v7-beta#usage) for code example.
## Mozilla MOSS grant and OpenJS Foundation
[<img src="https://www.poberezkin.com/images/mozilla.png" width="240" height="68">](https://www.mozilla.org/en-US/moss/) [<img src="https://www.poberezkin.com/images/openjs.png" width="220" height="68">](https://openjsf.org/blog/2020/08/14/ajv-joins-openjs-foundation-as-an-incubation-project/)
Ajv has been awarded a grant from Mozilla’s [Open Source Support (MOSS) program](https://www.mozilla.org/en-US/moss/) in the “Foundational Technology” track! It will sponsor the development of Ajv support of [JSON Schema version 2019-09](https://tools.ietf.org/html/draft-handrews-json-schema-02) and of [JSON Type Definition](https://tools.ietf.org/html/draft-ucarion-json-type-definition-04).
Ajv also joined [OpenJS Foundation](https://openjsf.org/) – having this support will help ensure the longevity and stability of Ajv for all its users.
This [blog post](https://www.poberezkin.com/posts/2020-08-14-ajv-json-validator-mozilla-open-source-grant-openjs-foundation.html) has more details.
I am looking for the long term maintainers of Ajv – working with [ReadySet](https://www.thereadyset.co/), also sponsored by Mozilla, to establish clear guidelines for the role of a "maintainer" and the contribution standards, and to encourage a wider, more inclusive, contribution from the community.
## Please [sponsor Ajv development](https://github.com/sponsors/epoberezkin)
Since I asked to support Ajv development 40 people and 6 organizations contributed via GitHub and OpenCollective - this support helped receiving the MOSS grant!
Your continuing support is very important - the funds will be used to develop and maintain Ajv once the next major version is released.
Please sponsor Ajv via:
- [GitHub sponsors page](https://github.com/sponsors/epoberezkin) (GitHub will match it)
- [Ajv Open Collective️](https://opencollective.com/ajv)
Thank you.
#### Open Collective sponsors
<a href="https://opencollective.com/ajv"><img src="https://opencollective.com/ajv/individuals.svg?width=890"></a>
<a href="https://opencollective.com/ajv/organization/0/website"><img src="https://opencollective.com/ajv/organization/0/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/1/website"><img src="https://opencollective.com/ajv/organization/1/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/2/website"><img src="https://opencollective.com/ajv/organization/2/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/3/website"><img src="https://opencollective.com/ajv/organization/3/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/4/website"><img src="https://opencollective.com/ajv/organization/4/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/5/website"><img src="https://opencollective.com/ajv/organization/5/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/6/website"><img src="https://opencollective.com/ajv/organization/6/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/7/website"><img src="https://opencollective.com/ajv/organization/7/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/8/website"><img src="https://opencollective.com/ajv/organization/8/avatar.svg"></a>
<a href="https://opencollective.com/ajv/organization/9/website"><img src="https://opencollective.com/ajv/organization/9/avatar.svg"></a>
## Using version 6
[JSON Schema draft-07](http://json-schema.org/latest/json-schema-validation.html) is published.
[Ajv version 6.0.0](https://github.com/ajv-validator/ajv/releases/tag/v6.0.0) that supports draft-07 is released. It may require either migrating your schemas or updating your code (to continue using draft-04 and v5 schemas, draft-06 schemas will be supported without changes).
__Please note__: To use Ajv with draft-06 schemas you need to explicitly add the meta-schema to the validator instance:
```javascript
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-06.json'));
```
To use Ajv with draft-04 schemas in addition to explicitly adding meta-schema you also need to use option schemaId:
```javascript
var ajv = new Ajv({schemaId: 'id'});
// If you want to use both draft-04 and draft-06/07 schemas:
// var ajv = new Ajv({schemaId: 'auto'});
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));
```
## Contents
- [Performance](#performance)
- [Features](#features)
- [Getting started](#getting-started)
- [Frequently Asked Questions](https://github.com/ajv-validator/ajv/blob/master/FAQ.md)
- [Using in browser](#using-in-browser)
- [Ajv and Content Security Policies (CSP)](#ajv-and-content-security-policies-csp)
- [Command line interface](#command-line-interface)
- Validation
- [Keywords](#validation-keywords)
- [Annotation keywords](#annotation-keywords)
- [Formats](#formats)
- [Combining schemas with $ref](#ref)
- [$data reference](#data-reference)
- NEW: [$merge and $patch keywords](#merge-and-patch-keywords)
- [Defining custom keywords](#defining-custom-keywords)
- [Asynchronous schema compilation](#asynchronous-schema-compilation)
- [Asynchronous validation](#asynchronous-validation)
- [Security considerations](#security-considerations)
- [Security contact](#security-contact)
- [Untrusted schemas](#untrusted-schemas)
- [Circular references in objects](#circular-references-in-javascript-objects)
- [Trusted schemas](#security-risks-of-trusted-schemas)
- [ReDoS attack](#redos-attack)
- Modifying data during validation
- [Filtering
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目功能】 将基于遗传算法的智能组卷模块作为核心内容,展开研究,包括用户管理、科目管理、知识点管理、题库管理、考试管理等模块。 前端:vue3、element-plus、vue3-storage、axios、echarts 后端:Spring boot、Spring Security(JWT)、Mybatis-plus、jython 【项目介绍】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到96分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、电子信息、物联网、通信工程等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、作者介绍:某大厂资深算法工程师,从事Matlab、Python、C/C++、Java、YOLO算法仿真工作10年;路径规划、擅长计算机视觉、目标检测模型、智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、智能控制、无人机等多种领域的算法仿真实验。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot + vue+遗传算法的智能组卷的在线考试系统的设计与开发 ExamOnlineSystem (2004个子文件)
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
.DS_Store 6KB
test-microtask.html 308B
test-polyfill.html 301B
test.html 295B
QuestionServiceImpl.java 21KB
UserServiceImpl.java 8KB
TestServiceImpl.java 6KB
TestHistoryServiceImpl.java 6KB
CompareShortAnswerServiceImpl.java 6KB
QuestionTest.java 6KB
PythonExecute.java 5KB
UserController.java 5KB
KnowledgeFrameServiceImpl.java 5KB
QuestionController.java 5KB
CompareTest.java 4KB
TestHistoryTest.java 4KB
TestTest.java 4KB
WebSecurityConfig.java 4KB
SubjectController.java 3KB
AuthTokenFilter.java 3KB
TestHistoryController.java 3KB
ClazzServiceImpl.java 3KB
AutoNameUtil.java 3KB
JwtUtils.java 2KB
TestController.java 2KB
SubjectServiceImpl.java 2KB
ClazzController.java 2KB
CustomUserDetailsService.java 2KB
KnowledgeFrameController.java 2KB
MPAutoGenerator.java 2KB
QuestionTypeController.java 2KB
QuestionTypeServiceImpl.java 2KB
User.java 2KB
MajorServiceImpl.java 2KB
CompareShortAnswer.java 2KB
QuestionMapper.java 2KB
CompareShortAnswerController.java 2KB
MajorController.java 2KB
Test.java 1KB
TestHistoryWithUserTestSubject.java 1KB
UserTest.java 1KB
AuthEntryPointJwt.java 1KB
KaptchaConfig.java 1KB
Answer.java 1KB
KnowledgeFrame.java 1KB
KnowledgeFrameMapper.java 1KB
TestHistoryQuestionReplyServiceImpl.java 1KB
TestHistoryMapper.java 1KB
TestHistoryQuestionReplyController.java 1KB
Question.java 1019B
QuestionService.java 1010B
TestHistory.java 999B
TestHistoryService.java 976B
ResponseCode.java 925B
ExamsystemApplication.java 863B
UserMapper.java 859B
ShortAnswerController.java 854B
SubjectMapper.java 836B
ShortAnswer.java 789B
Subject.java 788B
ControllerInitBinderHandler.java 787B
UserService.java 776B
RoleController.java 768B
CompareShortAnswerMapper.java 756B
TestMapper.java 753B
ShortAnswerServiceImpl.java 745B
TestHistoryQuestionReply.java 744B
VueConfig.java 690B
BaseResponseEntity.java 667B
CompareShortAnswerService.java 659B
TestService.java 657B
ClazzMapper.java 635B
Const.java 610B
RoleServiceImpl.java 594B
SubjectService.java 586B
ClazzService.java 574B
Clazz.java 558B
ShortAnswerMapper.java 548B
QuestionTypeService.java 547B
KnowledgeFrameService.java 515B
TestQuestionListServiceImpl.java 472B
UserClazz.java 452B
QuestionType.java 447B
Role.java 439B
UserMajorServiceImpl.java 423B
UserClazzServiceImpl.java 423B
TestQuestionListMapper.java 415B
Major.java 410B
TestQuestionList.java 404B
AnswerServiceImpl.java 402B
UserMajor.java 400B
MybatisConfig.java 387B
TestHistoryQuestionReplyMapper.java 375B
TestHistoryQuestionReplyService.java 362B
MajorService.java 359B
ShortAnswerService.java 330B
QuestionTypeMapper.java 317B
共 2004 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21
资源评论
- 青衫-郁郁寡欢2024-10-21支持这个资源,内容详细,主要是能解决当下的问题,感谢大佬分享~
- fzucgd752024-09-21这个资源对我启发很大,受益匪浅,学到了很多,谢谢分享~
枫蜜柚子茶
- 粉丝: 8973
- 资源: 5351
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功