<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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
本项目在技术选型上充分考虑了前后端分离的架构,采用了SpringBoot框架和Vue.js作为开发工具,以实现平台功能的完整实现。其中,对学生信息、课程信息和学生成绩信息进行增删改查操作,为用户提供了便捷的数据管理功能。 在各功能模块的实现上,本项目充分利用了服务Nacos 2.2.3、MySQL 8.0、Redis等工具,确保了系统的稳定性和可靠性。特别是在登录功能中,通过Redis中间件实现了验证码的生成和校验,提升了系统的安全性和用户体验。 为了更好地管理数据和提高系统的性能,本项目将学生信息、课程信息和学生成绩信息分为多个服务运行并连接nacos,实现了数据的分布式管理和服务的高可用性。通过这样的架构设计,系统能够更好地应对大规模数据操作和高并发访问,保障了系统的稳定运行和用户体验。登录账号admin,密码是111111
资源推荐
资源详情
资源评论
收起资源包目录
学生课程管理登录使用验证码 (2000个子文件)
test-microtask.html 308B
test-polyfill.html 301B
test.html 295B
AuthGlobalFilter.java 3KB
UserInfoServiceImpl.java 2KB
CourseController.java 2KB
StudentController.java 2KB
ValidateCodeServiceImpl.java 2KB
ScController.java 2KB
UserController.java 2KB
StudentServiceImpl.java 2KB
RedisConfig.java 1KB
CourseServiceImpl.java 1KB
BaseResponse.java 1KB
ScServiceImpl.java 1KB
ResultCodeEnum.java 893B
GlobalExceptionHandler.java 777B
StatusCode.java 738B
Result.java 730B
GuiguException.java 704B
CourseMapper.java 660B
StudentMapper.java 655B
Student.java 604B
Application.java 582B
ScMapper.java 501B
CourseApplication.java 478B
UserApplication.java 474B
UserInfo.java 454B
StudentService.java 428B
CourseService.java 416B
ScApplication.java 405B
CourseFeignClient.java 370B
ScService.java 367B
GatewayApplication.java 326B
Course.java 291B
ValidateCodeService.java 252B
ScApplicationTests.java 203B
Sc.java 200B
ValidateCodeVo.java 150B
UserInfoService.java 136B
UserInfoMapper.java 133B
vue.global.js 628KB
vue.esm-browser.js 598KB
vue.runtime.global.js 425KB
vue.runtime.esm-browser.js 400KB
vue.esm-browser.prod.js 129KB
vue.global.prod.js 126KB
vue.runtime.esm-browser.prod.js 83KB
vue.runtime.global.prod.js 82KB
echarts.js 71KB
echarts.js 64KB
List.js 57KB
List.js 53KB
graphic.js 51KB
TreemapView.js 32KB
BrushController.js 30KB
TreemapView.js 29KB
TooltipView.js 28KB
ContinuousView.js 27KB
BrushController.js 27KB
PictorialBarView.js 25KB
SliderZoomView.js 25KB
LineView.js 25KB
TooltipView.js 25KB
ContinuousView.js 24KB
BarView.js 24KB
custom.js 24KB
Global.js 24KB
AxisBuilder.js 24KB
PictorialBarView.js 24KB
DataZoomModel.js 23KB
SliderTimelineView.js 23KB
LineView.js 23KB
SliderZoomView.js 23KB
sourceHelper.js 22KB
sourceHelper.js 22KB
BarView.js 22KB
TreeView.js 22KB
Global.js 22KB
AxisBuilder.js 22KB
SliderTimelineView.js 21KB
DataZoomModel.js 20KB
TreeView.js 20KB
DirectoryWatcher.js 20KB
Scheduler.js 20KB
Scheduler.js 19KB
Series.js 19KB
treemapLayout.js 19KB
barGrid.js 19KB
VisualMapping.js 19KB
LegendView.js 19KB
graphic.js 19KB
AxisProxy.js 19KB
PiecewiseModel.js 19KB
Grid.js 18KB
treemapLayout.js 18KB
Series.js 18KB
sankeyLayout.js 18KB
VisualMapModel.js 18KB
VisualMapping.js 18KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
小Ddex学习笔记
- 粉丝: 12
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功