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