joi: 用于验证请求数据的库
const Joi = require('joi');
const schema = Joi.object({
name: Joi.string().alphanum().min(3).max(30).required(),
age: Joi.number().integer().min(18).max(99).required(),
email: Joi.string().email().required(),
password: Joi.string().pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')).required(),
});
const input = {
name: 'John Doe',
age: 25,
email: 'john.doe@example.com',
password: 'password123'
};
const { error, value } = schema.validate(input);
if (error) {
console.error(error.details[0].message);
} else {
console.log(value);
}
上述代码中,我们定义了一个Joi schema,其中包含了四个字段:name、age、email和password。然后,我们创建了一个名为input的JavaScript对象,包含了四个字段的值。最后,我们使用schema.validate()方法验证输入数据的正确性,如果验证失败,则输出错误信息,否则输出验证后的数据。
在实际的应用中,我们可以将Joi用于验证HTTP请求的请求体、查询参数和路由参数等数据,以确保数据的正确性和完整性。