0.6.1 • Published 4 years ago
@henry781/simple-validator v0.6.1
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 emptyCase 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