Norwegian Parcel Mail

    @korbiniankuhn/validator
    TypeScript icon, indicating that this package has built-in type declarations

    2.0.0-beta.7 • Public • Published

    Validator

    Travis Coverage Known Vulnerabilities Dependencies Dev Dependencies npm npm-version license

    Validate input values with object schemas.

    Features

    • completely sync or async validation
    • highly customizable
    • automatic documentation generation (e.g. RAML)
    • reusable custom types
    • short syntax through function chaining
    • parse input values to target type
    • special support for expressjs, angular, mongoose
    • no dependencies

    API

    See the detailed API Reference.

    Additional information for:

    Installation

    For installation use the Node Package Manager:

    $ npm install --save @korbiniankuhn/validator
    

    or clone the repository:

    $ git clone https://github.com/KorbinianKuhn/validator
    

    Getting started

    Initialize a new Validator:

    const { Validator } = require('@korbiniankuhn/validator');
    const validator = Validator();

    Create a new Schema:

    const schema = validator.Object({
      name: validator.String()
    });
    
    schema.validate({ name: 'Jane Doe' }).then(object => {
      // returns the given object
    });
    
    schema.validateSync({ name: 'Jane Doe' });
    // returns given object

    Extend the validator with custom schemas and types to reuse them later:

    // Create a reusable regular expression
    const myRegex = validator.String().regex(/[A-Z]/);
    validator.addType('myRegex', myRegex);
    
    await validator.Custom('myRegex').validate(value);
    
    // Create a reusable address schema
    const address = validator.Object({
      street: validator.String(),
      postal: validator.Integer(),
      city: validator.String()
    });
    validator.addType('address', address);
    
    await validator.Custom('address').validate(value);

    Testing

    First you have to install all dependencies:

    $ npm install
    

    To execute all unit tests once, use:

    $ npm test
    

    To get information about the test coverage, use:

    $ npm run coverage
    

    Contribution

    Get involved and push in your ideas.

    Do not forget to add corresponding tests to keep up 100% test coverage.

    License

    The MIT License

    Install

    npm i @korbiniankuhn/validator

    DownloadsWeekly Downloads

    37

    Version

    2.0.0-beta.7

    License

    MIT

    Unpacked Size

    358 kB

    Total Files

    206

    Last publish

    Collaborators

    • korbiniankuhn