0.2.0 • Published 4 years ago

wk-validator v0.2.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

wkValiddator

支持多种方式使用的表单验证工具,可以使用在浏览器,小程序等平台。

安装

  npm i -S wk-validator
  or
  yarn add wk-validator

使用

  import WkValidator from 'wk-validator';

  const wv = new WkValidator();

  new Vue({
    data() {
      return {
        form: {
          username: 'admin',
          password: '123456'
        }
      }
    },

    mthods: {
      doSubmit() {
        if(!this._validator()) return

        ...TODO
      },
      _validator() {
        let ret = wv.rules({
          username: 'required|minLength --2',
          password: 'required|minLength --6|maxLength --16'
        }).check(this.form);

        return ret;

      }
    }
  })

API

  • new WkValidator
    • .setToast(toast: Function) 设置错误提示方式
    • .rules(rule: Object|String) 初始化验证规则
    • .check(data: Object) 验证数据并返回验证结果.check()要与.rules()一起使用
    • .validator(rule: String, ...args) 单独验证字段
规则描述默认提示
required: true必填此字段必填
min: 6大于 6 的数字请输入大于 6 的数字
max: 16小于 16 的数字请输入小于 16 的数字
max: 16小于 16 的数字请输入小于 16 的数字
isEmpty: true必须为空不能输入任何值
notEmpty: true不能为空不存在
length: 10长度为 10 的字符串请输入 10 个字符
minLength: 10长度大于 10 的字符串最少要输入 10 个字符
maxLength: 10长度大于 10 的字符串最多只能输入 10 个字符
contains: 'string'必须包含字符串 'string'必须包含 'string'
notContains: 'string'不能包含字符串 'string'不能包含 'string'
number: any数据类型请输入数字
string: any字符串类型请输入字符串
array: any数组类型请输入数组
json: anyJSON 对象请输入 json 对象
isInstance: 'string'验证数据类型请输入 'string' 类型数据
idcard: true验证身份证请输入有效的身份证
email: true验证电子邮件请输入有效的电子邮件地址
url: true验证网址请输入有效的网址
tel: true验证座机号码请输入座机号
mobile: true验证手机号码请输入有效的手机号码
digits: true验证正整数请输入正整数
integer: true验证整数只能输入整数数字
chinese: true验证汉字只能输入汉字
ipv4: true验证 ipv4不是有效的 IPV4 地址
ipv6: true验证 ipv6不是有效的 IPV6 地址
date: true验证是不是有效的日期格式请输入有效的日期
equalTo: true是否一致两次输入不一致
notEqualTo: true是否不一致两次输入不能一致

#单独验证字段

new WkValidator().validator((rule: string), (data: any), ...args);

参数说明

参数名描述类型
rule参考默认规则详情string
data要验证的对象any
...args其他的值any

示例

import WkValidator from "wk-validator";
const wv = new WkValidator();
let source = {
  username: "wook",
  age: 18,
  class: 5,
  skills: ["js", "css", "html"],
  info: {
    name: "yao",
  },
};
let target = {
  username: "wook",
  age: 18,
  class: 5,
  skills: ["css", "js", "html"],
  info: {
    name: "yao",
  },
};

let ret: Boolean = wv.validator("email", "125@qq.com");
wv.validator("equalTo", "123456", "12345678");
wv.validator("equalTo", source, target);
wv.validator("array", [12]);
wv.validator("required");

#设置错误提示

new WkValidator().setToast((toast: Function | any));

// 示例
wv.setToast(console.log);

#rules 和 check 验证

let ret: Boolean = wv.rules((ruleMaps: Object)).check((data: Object));

参数说明

参数名描述类型
ruleMaps参考默认规则详情Object
data要验证的对象Object

示例

import WkValidator from "wk-validator";
const wv = new WkValidator();

const data = {
  username: "wookyao",
  password: "123456",
  age: 18,
  confirmPwd: "123456789",
};
wv.rules({
  username: {
    minLength: 2,
    maxLength: 12,
  },
  password: {
    minLength: 6,
    maxLength: 32,
  },
  age: {
    number: true,
    min: 16,
  },
  confirmPwd: {
    equalTo: "$password",
  },
}).check(data);