ааа! Я видел нечто подобное в другом посте, но думал, что это не сработает. В любом случае это работает отлично! Спасибо!
ался найти способ проверки элементов в списке, каждый с различными правилами проверки. Я наткнулся на «Свободную проверку», которая является отличной библиотекой, но я не могу найти способ выполнить проверку для каждого элемента в отдельности. Я получил слабую идею из этой аналогичной темы (Подтвердите 2 списка, используя свободную проверку), но я не уверен, как это сфокусировать так, как я хочу.
Итак, у меня есть эта модель взгляда:
public class EditPersonalInfoViewModel
{
public IList<Property> UserPropertyList { get; set; }
}
Содержит список свойств Active Directory. Каждый представлен этим классом:
public class Property
{
public string Name { get; set; }
public UserProperties Value { get; set; }
public string input { get; set; }
public bool Unmodifiable { get; set; }
public string Type { get; set; }
}
Дело в том, что каждое свойство AD имеет свои ограничения, поэтому я хочу указать разные правила для каждого свойства в списке следующим образом:
public class ADPropertiesValidator : AbstractValidator<EditPersonalInfoViewModel>
{
public ADPropertiesValidator()
{
RuleFor(p => p.UserPropetyList).Must((p,n) =>
{
for (int i = 0; i < n.Count; i++)
{
if ((n[i].Name.Equals("sAMAccountName"))
{
RuleFor(n.input ).NotEmpty()....
}
else if(...)
{
//More Rules
}
}
)
}
}
Есть идеи, как подойти к этому? заранее спасибо.