リスト内の項目の妥当性を検証する方法を見つけようとしています。私は偉大な図書館である流暢な検証に着きましたが、個々の項目ごとに検証を行う方法を見つけることができないようです。私はこの類似のスレッド(Validate 2 list using fluent validation)からかすかなアイデアを得ましたが、どのようにしてそれをどのようにしたいのかは分かりません。Fluent Validation、Asp.NET Coreのリスト内の各項目のバリデーション
だから私は、このビューモデルを持っている:
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
}
}
)
}
}
任意のアイデアにこれにアプローチする方法?前もって感謝します。
ああ!私は別のポストで同様のものを見たが、うまくいかないと思った。とにかくこれは完全に動作します!ありがとう! – Enixf