async-data-validator

validate form data asyncly

Usage no npm install needed!

<script type="module">
  import asyncDataValidator from 'https://cdn.skypack.dev/async-data-validator';
</script>

README

async-data-validator

Installing

  npm i async-data-validator -S

Usage

import validate from 'async-data-validator'
const result = await validate(rules, form)

Description

1. result

result:{ Promise<Object> }, result of validate

{ status: true, infos: [] }
// or
{ status: false, infos: [...] }

2. params

rules:{ Object }, rules of validate

/**
ruleItem: {
  required?: boolean;
  len?: number;
  min?: number;
  max?: number;
  enum?: array<string>;
  type?: string;
  pattern?: regex;
  validator?: async function;
  message: 'error message'
 }
*/

// rules
{ field: Array<ruleItem> | ruleItem }

// example
{
  field1: [
    { required: true, message: "it's required" },
    { len: 4, message: "it's length not equal 4" }
  ],
  filed2: { type: 'number', message: "must be number" }
}

form: { Object }, form data to validate

{
  field1: 'abcd',
  field2: 123456
}