0.6.1 • Published 3 years ago

@henry781/simple-validator v0.6.1

Weekly downloads
5
License
ISC
Repository
github
Last release
3 years ago

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 <RED,BLUE>
// _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
0.6.1

3 years ago

0.6.0

3 years ago

0.5.0

3 years ago

0.3.2

5 years ago

0.4.2

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.0

5 years ago