# 校验框架
**Repository Path**: devilived/sneakxy-validator
## Basic Information
- **Project Name**: 校验框架
- **Description**: javascript校验
- **Primary Language**: JavaScript
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-07-02
- **Last Updated**: 2022-07-01
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 校验框架
#### 介绍
javascript 实现的校验框架
#### 安装教程
1. npm install sneakxy-validator --save
2.
#### 使用说明
1. npm使用方式
```
import { validate, load, i18n, registerValidator, removeValidator } from 'sneakxy-validator';
//import cn from 'sneakxy-validator/src/locale/zh-CN';
//import en from 'sneakxy-validator/src/locale/en-US';
//添加其他国际化信息
//load('zh-CN', cn);
//load('en-US', en);
//load('zh-TW', {……});
//改变当前国际化错误信息,默认:zh-CN
//i18n('en-US');
//直接覆盖当前国际化信息信息
//i18n(cn);
//添加自定义校验
//registerValidator('custom', (value, rule, label, messages) => {});
//删除校验
//removeValidator("range");
//需要校验的数据
var model = {
name: '',
};
//每个字段可以包含一个或多个校验规则,对象或者数组
//校验规则格式:rules = { name: {……} } 或者 rules = { name: [ {……} ]}
var rules = {
name: {
//替换错误信息中的{0}。不填写{0}会被替换成被校验的“字段名”,本例中为"name"。规则为数组的情况只第一个规则填写此字段即可
label: "姓名",
//校验数据类型:string、function、array、object、number、date、boolean、integer、float、regexp、email、url、color、mobile
type: "string",
required: true,
selected: true, //与required一样,错误提示可单独设置
min: 5, //数据值类型为string、number、array时有效
max: 10, //数据值类型为string、number、array时有效
range: [5, 10], //范围,数据值类型为string、number、array时有效
len: 10, //数据值类型为string、number、array时有效
//message: "", //自定义错误信息。最好在规则数组中单独使用,一般跟自定义校验使用,不然所有校验错误信息都会是此数据
validate(value, rule, label, messages) {
//自定义校验,同步校验
return new Promise(resolve => {
setTimeout(() => {
resolve(new Error('自定义错误信息.'));
//resolve(false); //会返回default错误信息,如设置message则返回message信息
}, 3000);
});
//另外两种返回形式
//return true;
//return new Error('自定义错误信息.');
}
}
}
var options = {
//firstError: false, //每个字段是否第一个错误就返回,默认:true
//messages: {……} //当前校验使用的国际化信息
};
validate(model, rules, function(valid, errors) {
console.log(valid);
if(!valid) {
for(var i=0; i