valirator
Version:
Powerful javascript by schema validation tool
137 lines (108 loc) • 3.52 kB
Markdown
# valirator
Powerful javascript by schema validation tool
[![npm version][npm-image]][npm-url] [![Bower version][bower-image]][bower-url] [![Downloads][downloads-image]][downloads-url]
[![GitHub issues][github-image]][github-url] [![Travis status][travis-image]][travis-url] [![CircleCI status][circleci-image]][circleci-url]
[![Dependency status][david-image]][david-url] [![devDependency status][david-dev-image]][david-dev-url]
[![Summary status][nodei-image]][nodei-url]
## Quick start
Several quick start options are available:
- [Download the latest release][download-url]
- Clone the repo: `git clone https://github.com/massive-angular/valirator.git`
- Install with [npm][npm-url]: `npm install valirator --save`
- Install with [bower][bower-url]: `bower install valirator --save`
## Documentation
For documentation please follow: https://massive-angular.github.io/valirator/
## Usage
```javascript
import { validate } from 'valirator';
const validationResult = await validate(schema, obj);
```
## Schema Examples
### Simple schema
```javascript
const schema = {
Email: {
required: true,
minLength: 3,
maxLength: 50,
},
Password: {
required: true,
minLength: 3,
maxLength: 50,
},
};
```
### Nested schema
```javascript
const schema = {
Person: {
FirstName: {
required: true,
maxLength: 50,
},
LastName: {
required: true,
maxLength: 50,
},
Email: {
required: true,
format: 'email',
},
},
};
```
### Array schema
```javascript
const schema = {
Employees: {
rules: {
required: true,
minItems: 5,
},
properties: {
FirstName: {
required: true,
maxLength: 50,
},
LastName: {
required: true,
maxLength: 50,
},
Email: {
required: true,
format: 'email',
},
},
messages: {
required: 'Please fill %{property}',
},
},
};
```
## Creators
**Alexandr Dascal**
- [https://github.com/adascal](https://github.com/adascal)
**Slava Matvienco**
- [https://github.com/wfm-slava](https://github.com/wfm-slava)
## License
Code released under [the MIT license](http://spdx.org/licenses/MIT).
[npm-url]: https://npmjs.com/package/valirator
[npm-image]: https://img.shields.io/npm/v/valirator.svg
[bower-url]: https://bower.io/search/?q=valirator
[bower-image]: https://img.shields.io/bower/v/valirator.svg
[github-url]: https://github.com/massive-angular/valirator/issues
[github-image]: https://img.shields.io/github/issues/massive-angular/valirator.svg
[travis-url]: https://travis-ci.org/massive-angular/valirator
[travis-image]: https://img.shields.io/travis/massive-angular/valirator/master.svg
[circleci-url]: https://circleci.com/gh/massive-angular/valirator
[circleci-image]: https://img.shields.io/circleci/project/massive-angular/valirator/master.svg
[david-url]: https://david-dm.org/massive-angular/valirator
[david-image]: https://img.shields.io/david/massive-angular/valirator.svg
[david-dev-url]: https://david-dm.org/massive-angular/valirator?type=dev
[david-dev-image]: https://img.shields.io/david/dev/massive-angular/valirator.svg
[nodei-url]: https://npmjs.com/package/valirator
[nodei-image]: https://nodei.co/npm/valirator.svg?downloads=true&downloadRank=true&stars=true
[download-url]: https://github.com/massive-angular/valirator/archive/v2.2.0.zip
[downloads-url]: https://npmjs.com/package/valirator
[downloads-image]: https://img.shields.io/npm/dm/valirator.svg