FluentValidation «Ошибка cs0103, имя« x »не существует в текущем контексте». asp. net core 2.1 - PullRequest
0 голосов
/ 18 февраля 2020

Проблема

При использовании 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; }

}

1 Ответ

0 голосов
/ 18 февраля 2020

Переустановка FluentValidation решила мою проблему ... потенциально что-то в моей среде, которая вызывала проблему

...