Raj*_*Gan 3 c# validation fluentvalidation asp.net-web-api asp.net-core
我试图获取验证器类实例,而不是在我的方法中手动启动。
我正在使用 Asp .net core webapi 2,我在启动类中注册我的验证器
services.AddMvc().AddFluentValidation().
Run Code Online (Sandbox Code Playgroud)
在我的一种操作方法中,我必须验证规则集。所以我在本地创建我的验证器类
var validator = new MyClassValidator()
var result = validator.Validate(obj,ruleSet: "RulesetName");
Run Code Online (Sandbox Code Playgroud)
我试图避免这种说法var validator = new MyClassValidator()。我想使用 IOC 并获取一个实例。有什么帮助吗?
需要MyClassValidator手动在IoC容器中注册:
services.AddTransient<IValidator<T>, MyClassValidator>();
Run Code Online (Sandbox Code Playgroud)
正如文档所述,您不需要手动使用此类的实例,FluentValidation将自动验证它。
FluentValidation 可以与 Asp.NET Core 集成。启用后,MVC 将使用FluentValidation 来验证模型绑定基础结构传递到控制器操作的对象。
无论如何,如果您需要手动使用此类,只需将类型参数添加IValidator<T>到所需的构造函数即可。