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

0.1.1 • Public • Published

JS 通用的响应式校验工具。适用 nodejs、vue、react、小程序、原生。数据变化自动触发校验

Usage

import Validator from '@lx-frontend/browser-validator'

// 待校验数据
const formData = {
  name: 'lisa',
  age: '12'
}

// 校验规则 (默认支持 required min max) 同样支持正则表达式校验、检验函数(必须返回 true|false)
const ruleConfig = {
  name: [
    {
      validator: 'required',
      msg: '必填'
    },
    {
      validator: 'min:2 max:6',
      msg: '长度在 2 ~ 6 之间'
    }
  ],
  age: [
    {
      validator: 'required',
      msg: '必填'
    },
    {
      validator: val => +val >= 20,
      msg: '长度在 2 ~ 6 之间'
    }
  ]
}

const validator = new Validator(formData, ruleConfig)
// 单个字段校验是否通过
validator.isError('age') // true | false
// 单个字段校验 (不传要校验的字段则默认校验全部)
validator.verify('age')
// 整体校验
validator.verify()

扩展默认规则

import { Validator, rules } from '@lx-frontend/browser-validator'

rules.extendRegexp({
  onlyNumber: /^\d+$/,
  // ...
})

rules.extendValidator({
  lessThanTen: val => {
    val = +val
    return val < 10
  },
  // ...
})

Readme

Keywords

none

Package Sidebar

Install

npm i @lx-frontend/multi-validator

Weekly Downloads

0

Version

0.1.1

License

MIT

Unpacked Size

27 kB

Total Files

17

Last publish

Collaborators

  • haiyulu
  • erica.liuyj
  • pok.h
  • chenzian
  • tomgou
  • azumia
  • jeely
  • lichao.franklee
  • mind29
  • yuki.liu
  • lixinleon
  • frontbot
  • owen.huang
  • tiny.tu
  • simba.wang