<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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
设计和实现一个基于B/S架构的在线考试系统。实现身份验证功能,包括学生、教师和管理员的身份验证。学生可以在线答题和提交试卷,考试时间结束后系统自动提交试卷。实现试题的随机抽取功能,包括选择题(单选题和多选题)和判断题。系统根据学生提交的试卷自动阅卷并给出成绩。学生提交试卷后可以查看自己的成绩。教师可以登录后台管理系统,对自己任教的科目进行试题的增删查改操作,教师可以查看参与自己所任科目的学生的成绩。
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot+Vue的在线考试系统源码 (2000个子文件)
README.md 84KB
README.md 84KB
README.md 84KB
README.md 59KB
README.md 48KB
README.md 48KB
README.md 48KB
README.md 45KB
README.md 45KB
README.md 44KB
README.md 44KB
README.md 44KB
README.md 43KB
Readme.md 41KB
Readme.md 41KB
README.md 39KB
README.md 39KB
README.md 39KB
README.md 39KB
README.md 38KB
README.md 37KB
README.md 37KB
README.md 37KB
README.md 35KB
README.md 35KB
readme.md 33KB
readme.md 33KB
Readme.md 32KB
Readme.md 32KB
README.md 31KB
README.md 31KB
README.md 31KB
README.md 31KB
README.md 31KB
README.md 31KB
readme.md 30KB
README.md 28KB
README.md 28KB
readme.md 27KB
README.md 27KB
README.md 27KB
README.md 27KB
README.md 27KB
README.md 27KB
README.md 27KB
README.md 27KB
README.md 27KB
README.md 26KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 25KB
README.md 24KB
README.md 24KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 23KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 22KB
README.md 21KB
README.md 21KB
README.md 21KB
README.md 21KB
README.md 21KB
README.md 21KB
README.md 21KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
JPC客栈
- 粉丝: 2685
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于javaweb实现电子相册(含ppt演示+论文)
- IP知识产权委托代理合同(2).doc
- 企业OA系统微信小程序截图+源代码.zip
- 电压型单相双极性SPWM逆变仿真模型 含有对应的仿真说明,包含原理,调制策略 针对不同载波频率,调制波频率的仿真说明
- 小程序源码企业OA系统小程序.rar
- C#实现的计算器,个人学习整理,仅供参考
- C#开发的“计算器”,个人学习整理,仅供参考
- COMSOL变压器油流注放电模型
- C#做的计算器 欢迎下载
- Python 中的卷积神经网络:使用 Python、Theano 和 TensorFlow 中的现代深度学习掌握数据科学和机器学习
- 改进粒子群算法GAPSO 采用matlab编程,有基本粒子群、混沌粒子群和遗传粒子群三种算法的程序和结果对比,程序运行可靠,有不同测试函数
- 永磁同步电机一阶非线性自抗扰(ADRC)matlab,simulink模型 参数已调好含有参考文档,送自抗扰相关电子书 不
- C语言视频及课件.zip
- Corsor 生成 随机ID Golang
- 课题名称:传统轿车ABS防抱死系统控制策略研究 课题内容:基于Carsim和Simulink的联合仿真 为避免车辆在高速行驶时车轮发生抱死现象,设计了一种ABS模糊控制防抱死策略,与PID控制、逻
- Python爬虫-网易云音乐下载器
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功