簡體   English   中英

清單上的ObjectValidator <MyType>

[英]ObjectValidator on a List<MyType>

我正在使用企業庫驗證塊將驗證添加到WCF服務套件中的入站數據對象中。

我將[ObjectValidator]屬性添加到我的消息合同中,如下所示:

[MessageContract]
public class MyRequest
{
    public MyRequest()
    {
        Header = new MyHeader();
        Data = new List<MyType>();
    }

    [ObjectValidator]
    [MessageHeader]
    public MyHeader Header { get; set; }

    [ObjectValidator]
    [MessageBodyMember]
    public List<MyType> Data { get; set; }
}

我的正文的[DataContract]給出如下:

[DataContract]
public class MyType
{
    [Required, DataMember(IsRequired = true)]
    [RegularExpressionAttribute(RegexValidation.Name)]
    public string Name { get; set; }

    [Required, DataMember(IsRequired = true)]
    [RegularExpressionAttribute(RegexValidation.Password)]
    public string Password { get; set; }    
} 

我注意到的是,如果將我的MessageContract設置為List<MyType>則不會觸發驗證。 如果我刪除List<>並使用直接的MyType ,則它將觸發。

顯然,企業庫代碼不會在列表下方,而是在List對象本身中查找驗證項。 有誰知道如何解決這個問題?

答案很簡單。 在列表上使用ObjectValidator時,需要改為使用ObjectCollectionValidator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM