Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/henry781/simple-validator
a simple typescript class validator
https://github.com/henry781/simple-validator
Last synced: 1 day ago
JSON representation
a simple typescript class validator
- Host: GitHub
- URL: https://github.com/henry781/simple-validator
- Owner: henry781
- Created: 2019-02-24T13:21:00.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-10T02:41:51.000Z (over 2 years ago)
- Last Synced: 2024-04-25T20:20:57.695Z (7 months ago)
- Language: TypeScript
- Homepage:
- Size: 91.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# simple-validator
simple-validator is a basic typescript class validator, it works with decorators and produce an array of validation errors.
WIP : not for production
## Usage
Add the field decorators, see below for a list of available decorators.
```
export class Planet {@isInteger()
private _index: number;
@isNotEmpty()
private _name: string;@isNotEmpty()
private _aliases: string[];@isIn({arr: ['RED', 'BLUE']})
private _color: string;@isValid()
@isNotEmpty()
private _satellites: Satellite[];constructor(options?: PlanetOptions) {
if (options) {
this._index = options.index;
this._name = options.name;
this._aliases = options.aliases;
this._color = options.color;
this._satellites = options.satellites;
}
}
```### Case invalid
```
const satellite = new Satellite({});
const planet = new Planet({satellites: [satellite]});const result = Validator.validate(planet);
// result is an array :
// _index : should be an integer
// _name : should not be empty
// _aliases : should not be empty
// _color : should be one of
// _satellites : 0 : _name : should not be empty
```### Case valid
```
const satellite = new Satellite({name: 'moon'});
const planet = new Planet({
aliases: ['home', 'blue-planet'],
color: 'BLUE',
index: 3,
name: 'earth',
satellites: [satellite],
});const result = Validator.validate(planet);
// result is an empty array
```