使用 SFN-Validator 校验前台提交的表单
Simple Friendly Node.js Validator
SFN-Validator 是一个简洁友好的表单验证器,它包含下面这些有用的 API:
new Validator([rule: object])
通过给定的规则创建一个新的验证器实例。validator.set(rule: object): object
设置验证规则。validator.check(data: object): object
检查所有的数据是否符合规则。validator.filter(data: object): boolean
根据给定的规则过滤表单数据。
示例
const Validator = require("sfn-validator");
var validator = new Validator({
name: {
type: "string",
required: true,
length: [3, 18]
},
email: {
type: "email",
required: true,
strict: true,
},
password: {
type: "string",
required: true,
length: [8, 18],
msg: {
required: "You must provide a `%s` in this form.",
equals: "The length of the `%s` should between %d and %d.",
}
},
check_password: {
type: "string",
required: true,
equals: "password",
},
url: "url" // Short-hand, equals to {type: "url"}.
});
try{
validator.check(data);
}catch(e){
console.log(e);
}
SFNV 目前支持这些类型:
string
number
boolean
object
包含子结点array
email
url
date
time
Unix时间戳或者合法的时间字符串color
颜色名、十六进制、RGB 或 RGBA 颜色ipv4
ipv6
mac
物理地址uuid
通用唯一识别码isbn
国际标准书号ascii
值只包含 ASCII 字符base64
值只包含 base64 字符json
data-uri
SFNV 包含了一些很有用的特性,包括自定义错误信息、校验两个字段的相等性、无限层级的对象类型字段等。这些特性,只为了让表单验证更简单、更方便。
该模块只引用了一些不依赖硬件的其它模块,因此理论上也可以通过 WebPack 打包并运行在浏览器中。