2011-07-29 16 views
2

私はそれを見つけることができないのか、それが存在しないのか分かりませんが、コレクションがnull /空であるかどうかを確認する検証属性がありますか?IDataErrorInfo - コレクションに空の検証属性がありませんか?

それ以外の場合は、独自の検証属性を作成する方法については、そこに良いリソースはありますか?

+0

IDataErrorInfoは属性とは関係ありません。あなたはDataAnnotationsについて話していますか? –

+0

はい、IDataErrorInfoでValidationAttributesを使用する方法について説明している記事を見ました。だからコレクションが空かヌルかどうかを確認するバリデーション属性があるのだろうか? – michael

答えて

1

こんにちは、default.kramerごとにDataAnnotationsを使用すると、コレクションプロパティとクラスにCustomValidation属性とValidationMethodを追加して作成することをお勧めします。以下の例を参照してください。

ValidationMethodの重要な部分は、Staticであり、検証するオブジェクトと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

関連する問題