Skip to content

qavajs/validation

Repository files navigation

@qavajs/validation

A @qavajs library for validating data using plain English definitions. This package simplifies the process of creating validation functions by translating human-readable sentences into executable code.

Installation

You can install the library using npm:

npm install @qavajs/validation

Supported Validations

This library supports a variety of validation types, which can all be negated by adding the word not.

Equality & Comparison

  • equal: Checks for non-strict equality (==).
  • strictly equal: Checks for strict equality (===).
  • deeply equal: Performs a deep comparison of object properties or array elements.
  • case insensitive equal: Compares two values for non-strict equality after converting them to lowercase.
  • contain: Verifies if a string contains a specific substring.
  • include members: Checks if an array or object includes a specific set of members.
  • have members: Validates if an array or object has an exact match of a specified set of members.
  • have property: Ensures an object has a particular property.
  • above / greater than: Checks if a value is greater than another.
  • below / less than: Checks if a value is less than another.
  • match: Validates if a string matches a regular expression.
  • have type: Checks the type of a variable (e.g., string, number, boolean).
  • match schema: Validates data against an ajv schema, which is useful for complex object validation.
  • satisfy: verify user-defined expectation provided as predicate

Test

To run the test suite for this package, use the following command:

npm run test

License

This project is licensed under the MIT License.

About

Lib that transform plain english definition to validation functions

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •