Проблема
При использовании FluentValidation.AspNetCore (версия 8.6.1) я получаю следующую ошибку. это происходит, когда мой вид редактирования сохраняется. Очень базовая c настройка в данный момент, но я хочу расширить 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; }
}