为TypeScript类执行Joi验证的方法如下:
npm install joi
import * as Joi from 'joi';
string()
、number()
、object()
等。以下是一个示例:const schema = Joi.object({
name: Joi.string().required(),
age: Joi.number().integer().min(18).max(99),
email: Joi.string().email(),
});
validate()
方法来验证属性。以下是一个示例:class MyClass {
name: string;
age: number;
email: string;
constructor(data: any) {
const { error, value } = schema.validate(data);
if (error) {
throw new Error(`Validation error: ${error.message}`);
}
this.name = value.name;
this.age = value.age;
this.email = value.email;
}
}
在上面的示例中,data
参数是一个包含要验证的属性的对象。validate()
方法将根据定义的验证模式对属性进行验证,并返回验证结果。如果验证失败,将抛出一个包含错误信息的异常。
const data = {
name: 'John Doe',
age: 25,
email: 'john.doe@example.com',
};
try {
const myObject = new MyClass(data);
console.log('Validation successful');
} catch (error) {
console.error(error.message);
}
在上面的示例中,data
对象包含要验证的属性数据。如果属性数据符合验证规则,则会成功创建MyClass
的实例,并输出"Validation successful"。否则,将输出验证错误的详细信息。
这是一个基本的示例,演示了如何为TypeScript类执行Joi验证。根据实际需求,可以根据Joi的文档进一步了解更多验证规则和方法,并根据需要进行定制和扩展。
领取专属 10元无门槛券
手把手带您无忧上云