私は検証クラスを持っています:
public sealed class ValidationSet : ValidationAttribute
{
private List<string> _set = new List<string>();
public ValidationSet(params string[] setOfValues)
{
_set = setOfValues.ToList();
}
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
if (!(_set.Select(s => s.ToLower()).Contains(value.ToString().ToLower())))
{
throw new Exception("not in the set");
}
return ValidationResult.Success;
}
}
そして、これが私がそれを使用する方法です:
public class Car
{
[ValidationSet("honda", "gm")]
public string CarMake{ get; set; }
}
次の方法で Car クラスをインスタンス化すると:
...
Car c = new Car();
c.CarMake = "ford";
...
何も起こらず、c.CarMake を印刷すると、フォードが表示されます - 検証は行われませんでした。
ここで何が恋しいのだろうと思っています。
ありがとう!