【问题标题】:IDataErrorInfo - Is there a collection is not empty validation attribute?IDataErrorInfo - 是否有集合不是空的验证属性?
【发布时间】:2011-07-29 14:57:27
【问题描述】:

我不知道我是找不到它还是它不存在,但是是否有任何验证属性可以检查集合是否为空/空?

如果没有,是否有任何关于如何创建我自己的验证属性的好资源?

【问题讨论】:

  • IDataErrorInfo 与属性无关。您是在谈论 DataAnnotations 吗?
  • 是的,我看到一篇文章谈论将 ValidationAttributes 与 IDataErrorInfo 结合使用。所以我想知道是否有一个验证属性可以检查一个集合是空的还是空的?

标签: c# wpf validation collections idataerrorinfo


【解决方案1】:

您好,当您按照 default.kramer 使用 DataAnnotations 时,您可以创建添加一个 CustomValidation 属性和 ValidationMethod 到您的集合属性和类。请参见下面的示例。

ValidationMethod 的重要部分是它是静态的,您必须将要验证的对象和 ValidationContext 添加到静态方法中。

public class Order
{
[System.ComponentModel.DataAnnotations.Required( AllowEmptyStrings = false )]
public string Name
{
  get;
  set;
}

[System.ComponentModel.DataAnnotations.CustomValidation( typeof( Order ), "ValidateOrderLines" )]
public BindingList<OrderDetail> Lines
{
  get;
  set;
}

public static ValidationResult ValidateOrderLines( Order order, ValidationContext validationContext )
{
  ValidationResult result = new ValidationResult( "Lines are required!" );

  if ( order.Lines.Count != 0 )
    result = ValidationResult.Success;

  return result;
}

}

希望这会有所帮助。

约翰·J 诉伦斯堡

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-09
    • 2015-04-09
    • 1970-01-01
    • 2012-07-27
    • 2012-03-29
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多