代码之家  ›  专栏  ›  技术社区  ›  uriDium

如何只使用验证应用程序块在属性上获取第一个验证错误?

  •  0
  • uriDium  · 技术社区  · 14 年前

    如果我有两个验证器,一个notNullValidator和一个StringLengthValidator,有没有一种方法只得到一个空验证错误,而不是同时得到两个。例如:

    public class Test
    {
        [NotNullValidator(MessageTemplate="Name is required"),
        StringLengthValidator(1,50, MessageTemplate="Name must be between 1 and 50 characters")]
        public string Name { get; set; }
    }
    
    Test test = new Test {Name = null};
    ValidationResults r = Validation.Validate(test);
    if (!r.IsValid)
    {
        foreach (var test in r)
        {
            Console.WriteLine(test.Message);
        }
    }
    

    在这种情况下,我会得到两个验证错误。一个告诉我“名字是必需的”,另一个告诉我应该在1到50个字符之间。在这种情况下,我只想看到这个名字是必需的。这有可能吗?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Steven    14 年前

    NotNullValidatorAttribute