validate-provider
验证提供方, 作为管理验证函数的容器. 基于Promise
支持:
- 验证函数中返回布尔值, 则代表验证状态
- 验证函数中抛出异常, 则验证失败, 并将异常
error.message
作为验证失败消息
- 验证函数可以是
Promise
方法
Install And Usega
Using Browser:
<script src="./dist/index.js"></script>
<script>
var provider = new ValidateProvider();
provider.add(
"IsPhone",
(val: string) => {
return /^(13[0-9]|15[0123456789]|17[03678]|18[0-9]|14[57])[0-9]{8}$/.test(val);
},
"手机号不正确"
);
provider
.get("IsPhone")
.method("xueyoucd@gmail.com")
.then(() => {
console.log("验证成功");
})
.catch((error) => {
console.log("验证失败, 原因:", error.message);
});
</script>
Or Using npm:
npm install --save validate-provider
import { ValidateProvider } from "validate-provider";
var provider = new ValidateProvider();
provider.add(
"IsPhone",
(val: string) => {
return /^(13[0-9]|15[0123456789]|17[03678]|18[0-9]|14[57])[0-9]{8}$/.test(val);
},
"手机号不正确"
);
provider
.get("IsPhone")
.method("xueyoucd@gmail.com")
.then(() => {
console.log("验证成功");
})
.catch((error) => {
console.log("验证失败, 原因:", error.message);
});
验证提供方使用
provider.add(name: string, method: Function, errMsg?: string)
添加验证函数
provider.addByMethodRegister(methodRegister: IMethodRegister)
添加验证函数
异步验证函数
provider.add("async-valid", async (val: string) => {
if (val === "123456") {
return true;
} else {
throw new Error("异步验证失败");
}
});
接口与类
IMethodRegister
export interface IMethodRegister {
name: string;
method?: Function;
dynamic?: boolean;
errMsg?: string;
format?: (value: any, params: any[], message: string) => string;
}
ValidateMethodError
const error: ValidateMethodError;
console.log(error.value);
console.log(error.params);
console.log(error.message);
console.log(error.validName);