1 つの文字列プロパティを含むクラスがあります。
public class Bla
{
public string Parameter { get; set; }
}
Parameter が次のいずれかの文字列と等しいかどうかをチェックするカスタム AbstractValidator を作成したいと思います。
str1, str2, str3
これが出発点になると思います:
RuleFor(x => x.Parameter).Must(x => x.Equals("str1") || x.Equals("str2") || x.Equals("str3")).WithMessage("Please only use: str1, str2, str3");
しかし、これを連鎖させて、理想的には可能性をハードコーディングせずにエラーメッセージも表示できますか? 例:
Please only use: str1, str2, str3
ベストアンサー1
条件をリストにしてこれを行うことができます
var conditions = new List<string>() { str1, str2, str3 };
RuleFor(x => x.Parameter)
.Must(x => conditions.Contains(x))
.WithMessage("Please only use: " + String.Join(", ", conditions));