如何在Angular中使用FluentValidation实现验证规则校验?
使用 fluentvalidation-ts 实现验证规则检查
如果你想通过FluentValidation风格来定义和检查验证规则,可以使用 fluentvalidation-ts 这个专为TypeScript打造的npm包,它支持链式调用语法,能让你写出清晰、易维护的验证逻辑。
基本使用步骤:
- 先定义需要验证的数据模型接口
- 创建继承自
AbstractValidator的验证器类 - 在验证器构造函数中,通过链式调用为每个字段添加验证规则
- 调用验证器的
validate方法对数据进行校验,获取结果
示例代码:
import { AbstractValidator, ValidationResult } from 'fluentvalidation-ts'; // 定义数据模型 interface User { name: string; age: number; email: string; } // 创建验证器 class UserValidator extends AbstractValidator<User> { constructor() { super(); // 姓名验证规则 this.ruleFor('name') .notEmpty().withMessage('姓名不能为空') .minLength(2).withMessage('姓名长度不能少于2个字符'); // 年龄验证规则 this.ruleFor('age') .greaterThanOrEqualTo(18).withMessage('必须年满18岁'); // 邮箱验证规则 this.ruleFor('email') .emailAddress().withMessage('请输入有效的邮箱地址'); } } // 执行验证 const validator = new UserValidator(); const testUser: User = { name: '', age: 16, email: 'invalid-email' }; const result = validator.validate(testUser); console.log(result.isValid); // 输出 false console.log(result.errors); // 输出包含所有验证失败的错误信息
内容的提问来源于stack exchange,提问作者Hamed
相关产品推荐
相关产品推荐

