流利验证 "Error cs0103 the name 'x' does not exist in the current context" .asp.net 核心 2.1



问题

使用FluentValidation.AspNetCore(8.6.1版(时,我收到以下错误。保存编辑视图时会出现此错误。目前的设置非常基本,但我想在ActionValidator工作时对其进行扩展。。。感谢

错误cs0103当前上下文中不存在名称"x">

代码

Startup.cs-

services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<ActionValidator>());

验证类别-

public class ActionValidator : AbstractValidator<EditActionVM>
{
public ActionValidator()
{
RuleFor(x => x.ActionCompletionDate).NotEmpty();
}
}

我尝试过的

遵循FluentValidation指南,网址为-https://docs.fluentvalidation.net/en/latest/aspnet.html#getting-启动

更改启动以使用以下代码-

services.AddMvc()
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1)
.AddFluentValidation();
services.AddTransient<IValidator<EditActionVM>, ActionValidator>();

编辑

编辑ActionVM.cs-

public class EditActionVM
{
public int Id { get; set; }
[Display(Name = "Action Reference")]
public string ActionRef { get; set; }
[Display(Name = "Status")]
public Enums.Enums.Status Status { get; set; }
[Display(Name = "Created Date")]
public DateTime? CreatedDate { get; set; }
[Display(Name = "Action Completion Date")]
public DateTime? ActionCompletionDate { get; set; }
}

重新安装FluentValidation解决了我的问题。。。可能是我的环境中导致问题的原因

最新更新