FluentValidation: назначить сообщение об ошибке другой переменной вне логики проверки - PullRequest
1 голос
/ 22 апреля 2019

Я хотел бы проверить входной список строк , отфильтровав его, соответствует ли он моим условиям, и я хочу назначить сообщение об ошибке для всех недопустимых строк на дополнительныепеременная , которая может быть доступна где-то в коде.

Я использую PreValidate метод для фильтрации всех входных строк, и у меня сообщение об ошибке для всех недопустимых строк в переменной внутри этого метода.Все, что мне нужно , чтобы передать это сообщение об ошибке в другую переменную вне логики проверки, поэтому я хотел бы знать, возможно ли это вообще сделать.

Я установилмоя логика внутри Метод предварительной проверки , где я отфильтровываю неверные имена, в соответствии с логикой статического метода CheckingNames.Он принимает список имен в строковом формате и возвращает сообщение об ошибке для всех недопустимых строк.В out-переменной он также возвращает допустимых имен , которые на самом деле будут использоваться позже.

public class NameValidator : AbstractValidator<Order>
    {

  //Just simple rules for validate properties of Order Class

            RuleFor(x => x.From)
                .NotEqual(default(DateTime))
                .WithMessage("{PropertyName} parameter is mandatory");

            RuleFor(x => x.To)
                .NotEqual(default(DateTime))
                .WithMessage("{PropertyName} parameter is mandatory")
                .GreaterThan(x => x.From)
                .WithMessage("Invalid Time Range!")
                .LessThan(x => x.From.AddMonths(2))
                .WithMessage("Maximum selected time range must not exceed 2 months");


        }

protected override bool PreValidate(ValidationContext<Order> context, ValidationResult result)
        {
            var validAssets = new List<string>();

            var errors = Validation.CheckingNames(context.InstanceToValidate.Names, out validNames);
            context.InstanceToValidate.Names = validNames;

            return true;
        }
}

Я хочу присвоить значение переменной error внутри метода Prevalidate длядругая переменная вне логики проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...