Проверки базового класса не запускаются при проверке Fluent в Asp.Net Core 3.0 - PullRequest
0 голосов
/ 07 ноября 2019

Я использую версию FluentValidation: 8.5.1 в своем проекте Asp.Net Core 3.0 Razor Pages.

У меня есть класс, производный от базового класса, как показано ниже:

public class BranchEditViewModel : BranchViewModel
{
    public Guid Id { get; set; }
    public bool Active { get; set; }
}

Я пытаюсь проверить мой производный класс в моем методе обновления, как показано ниже:

public async Task<IActionResult> OnPutAsync([FromForm] BranchEditViewModel model)

Но по какой-то причине это не работает. Валидации не вызываются.

Когда я создаю AbstractValidator для своего базового класса, как показано ниже, валидатор не вызывается.

public class BranchViewModelValidator : AbstractValidator<BranchViewModel>

Но если я создаю AbstractValidatorдля моего класса dervied, как показано ниже, вызывается валидатор.

public class BranchViewModelValidator : AbstractValidator<BranchEditViewModel>

Не могли бы вы помочь, почему это не работает с базовым классом? Я что-то не так делаю?

1 Ответ

0 голосов
/ 08 ноября 2019

Вот как я это сделал. Я создал отдельный BranchEditViewModelValidator и затем назвал Include(new BranchViewModelValidator()) из него.

public class BranchEditViewModelValidator : AbstractValidator<BranchEditViewModel>
{
    public BranchEditViewModelValidator()
    {
        Include(new BranchViewModelValidator());
    }
}
...