Skip to content

webarthur/super-ajv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Super AJV

AJV validator with super powers! See also the AJV full documentation.

Contents

Custom Types

You can set the types you want!

const ajv = new Ajv()

ajv.addType('mongoid', {
  compile () {
    return function (data) {
      const re = /^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)/i
      return re.test(data)
    }
  }
})

const schema = {
  properties: {
    user_id: { type: 'mongoid' }
  }
}

Required properties

You can set required property in line:

const schema = {
  properties: {
    user_id: { type: 'mongoid', required: true }
  }
}

And can also set a required property using the '*':

const schema = {
  properties: {
    '*user_id': { type: 'mongoid' }
  }
}

Simplifyed types

const schema = {
  properties: {
    '*name': 'string',
    '*email': 'email',
    'age': 'number',
    '*message': 'string',
  }
}

Test

node test/

License

GNU

"Simplicity is the ultimate sophistication"
Da Vinci

About

AJV validator with super powers!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published