📜  validatorjs 编号 - Javascript (1)

📅  最后修改于: 2023-12-03 15:35:33.576000             🧑  作者: Mango

Validatorjs 编号 - Javascript

Validatorjs 是一个基于 Javascript 的验证库,提供了一系列有用的验证规则来验证表单输入等。它可以用于浏览器端和 Node.js 环境。

安装

你可以通过 npm 来安装 Validatorjs,也可以直接下载源码进行使用。

使用 npm 安装:

npm install validatorjs
使用
引入

在浏览器端:

<script src="https://cdn.jsdelivr.net/npm/validatorjs@3.24.1/dist/validator.min.js">
</script>

在 Node.js 环境:

const Validator = require('validatorjs');
示例
const rules = {
  name: 'required',
  email: 'required|email',
  password: 'required|min:8',
};

const validation = new Validator({
  name: 'Joe',
  email: 'joe@example.com',
  password: 'password',
}, rules);

if (validation.passes()) {
  console.log('Validation passed');
} else {
  console.log(validation.errors.all());
}
规则

Validatorjs 提供了很多常用的验证规则,比如 required、email、min、max 等,同时也支持自定义规则。

required

必填项。

const rules = {
  field: 'required',
};
email

邮箱格式验证。

const rules = {
  email: 'required|email',
};
min 和 max

最小值和最大值验证。

const rules = {
  age: 'min:18|max:60',
};
confirmed

比较两个字段是否相同。

const rules = {
  password: 'required|confirmed',
  password_confirmation: 'required',
};
custom

自定义验证规则,支持函数和正则表达式。

Validator.register('telephone', (value, require, attribute) => {
  return value.match(/^\d{11}$/) !== null;
});

const rules = {
  phone: 'required|telephone',
};

更多规则请参考官方文档。

错误信息

默认情况下,Validatorjs 提供了一些常见的错误信息,例如:required、:email、:min 等,你也可以自定义错误信息。

引入自定义错误信息文件
// resources/lang/en/validation.js
module.exports = {
  required: 'The :attribute field is required.',
  email: 'The :attribute must be a valid email address.',
  min: {
    numeric: 'The :attribute must be at least :min.',
    string: 'The :attribute must be at least :min characters.',
  },
};
const Validator = require('validatorjs');
Validator.useLang('en');
手动设置
const rules = {
  email: 'required|email',
};

const messages = {
  'required.email': 'Please enter your email address.',
  'email.email': 'Please enter a valid email address.',
};

const validation = new Validator({ email: 'invalid' }, rules, messages);

if (validation.fails()) {
  console.log(validation.errors.first('email'));
  // Output: 'Please enter a valid email address.'
}
总结

Validatorjs 提供了很多常用的验证规则,可以轻松地对表单输入等进行验证。但是它也有一些限制,例如不能进行异步验证,适用性有所局限。在实际使用中,需要灵活运用。