IDataErrorInfo -是否有一个集合不是空的验证属性

本文关键字:验证 属性 是否 有一个 集合 IDataErrorInfo | 更新日期: 2023-09-27 18:04:02

我不知道如果我只是找不到它,或者如果它不存在,但是否有任何验证属性检查集合是否为空/空?

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

IDataErrorInfo -是否有一个集合不是空的验证属性

嗨,当你按照默认使用DataAnnotations时,kramer建议你可以创建一个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;
}

}

希望对你有帮助。

Johan J v Rensburg