问题
使用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解决了我的问题。。。可能是我的环境中导致问题的原因