1.0.0-rc.20210814 • Published 3 years ago

@agentframework/validation v1.0.0-rc.20210814

Weekly downloads
86
License
-
Repository
-
Last release
3 years ago

@agentframework/validation

What is it?

A zero-configuration validation framework Demo

Support Types

  • boolean
  • number
  • string
  • null
  • Nested class

How it works?

This framework will analysis your class and create a validator using ajv for you.

Steps

  1. Use class to define your data and mark @mandatory or @optional for the field.

  2. Create a Validator const validator = Validate(YOUR_CLASS)

  3. Validate object using validator.test({ id: 1, name: 1 })

API

Validate

  • function Validate(yourClassType: any): Validator - Create a validator, this validator can be reuse.

  • IValidator.test(obj: any): boolean - validate the object, return true if the object match the Class definition.

  • IValidator.validate(obj: any): Array - validate the object, return validation errors, if object match, return empty array[]
// Data Models
class ProjectModel {
  @mandatory()
  name: string
}

class DataModel {
  owner: string
  project: ProjectModel
}


// User input
const body = {
                owner: 'Peter',
                project: {
                   name: 1
                }
             }

// Validation Result
const validator = Validate(DataModel)
const results = validator.validate(body)

/*
 results = [
   {
     dataPath: '.project.name',
     params: { type: 'string' },
     message: 'should be string'
   }
 ]
*/
0.15.5

3 years ago

0.15.3

3 years ago

0.15.1

3 years ago

0.13.31

4 years ago

0.13.28

4 years ago

0.13.26

4 years ago

0.13.23

4 years ago

0.13.16

4 years ago

0.13.17

4 years ago

0.13.12

4 years ago

0.13.13

4 years ago

0.13.10

4 years ago

0.13.9

4 years ago

0.13.7

4 years ago

0.13.6

5 years ago

0.13.5

5 years ago

0.13.4

5 years ago

0.13.2

5 years ago

0.13.1

5 years ago

0.13.0

5 years ago

0.12.0

5 years ago

0.11.0

5 years ago

0.10.1

5 years ago

0.10.0

5 years ago

0.9.13

5 years ago

0.9.2

5 years ago

0.9.1

5 years ago

0.9.0

5 years ago

0.8.11

5 years ago

0.8.0

5 years ago

0.7.18

5 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.2

5 years ago

0.4.0

5 years ago

0.3.14

5 years ago

0.3.6

5 years ago

0.3.4

5 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.0.4

5 years ago

0.0.3

5 years ago

0.0.2

5 years ago

0.0.1

5 years ago