You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

DIinfluentvalidator

DI在流畅验证器中的应用。流畅验证器是一个轻量级、可扩展的验证库,可以将规则串联起来以验证数据。使用DI可以增加流畅验证器的灵活性和可扩展性。

使用DI需要首先安装依赖包:

npm install reflect-metadata@0.1.13
npm install @abraham/reflection
npm install @types/node
npm install @types/express
npm install inversify inversify-binding-decorators

然后通过创建一个容器来注入验证规则:

import 'reflect-metadata';
import { Container } from 'inversify';
import { fluentProvide } from 'inversify-binding-decorators';
import { ValidationRules } from 'fluentvalidation-ts';

// 创建容器
const container = new Container();

// 定义验证规则
@fluentProvide('password-validator')
class PasswordValidator implements ValidationRules<string> {
    forTargetType(): this {
        return this;
    }

    validate(context: {value: string}): string | Promise<string | undefined> | undefined {
        if (!context.value.match(/^(?=.*[A-Z])(?=.*[0-9])(?=.*[a-z]).{8,}$/)) {
            return '密码需要包含一个数字、一个大写字母和一个小写字母,长度至少为8位';
        }
    }
}

// 将验证规则注入到容器中
container.bind<ValidationRules<string>>('password-validator').to(PasswordValidator).inSingletonScope();

// 使用验证规则
const password = 'Password123';
const validator = container.getNamed<ValidationRules<string>>('password-validator');
const result = validator.forTargetType().validate({value: password});
console.log(result); // undefined,通过验证
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

DIinfluentvalidator -优选内容

DIinfluentvalidator -相关内容

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询