1

私は検証クラスを持っています:

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 を印刷すると、フォードが表示されます - 検証は行われませんでした。

ここで何が恋しいのだろうと思っています。

ありがとう!

4

2 に答える 2