我有一个验证类:
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,它会显示福特 - 验证没有发生。
我只是想知道我在这里想念什么。
谢谢!