我有一個從web服務獲得的簡單類。自定義驗證列表中的單個項目
public class person
{
public string name { get; set; }
public int number { get; set; }
}
而且在我的代碼
public class people
{
[ValidatePerson]
public List<person> myPeople;
}
第二類和定製ValidationAttribute
[AttributeUsage(AttributeTargets.Property,AllowMultiple = false)]
public class ValidatePerson : ValidationAttribute
{
protected override ValidationResult IsValid(object value, ValidationContext validationContext)
{
ValidationResult returnValue = ValidationResult.Success;
return returnValue; // do stuff later
}
}
因爲人來自一個web服務,我不能一個裝飾添加到它(我知道)並且將裝飾者添加到人物中的屬性意味着「價值」不是人。
我想驗證的人不List<person>
的原因是因爲我在editortemplate的人使用@Html.ValidationMessageFor(model => model);
,我想有多個消息,如「這不是一個有效的人」不是頂部,一個塊說「你有三個無效的人」。
我最終創建了公共類'ValidPerson:person {public ValidPerson(person){...}}'並不像我喜歡的那樣乾淨,因爲web服務改變了人的某些東西我需要調整更多的代碼。此外,我還需要人,所以我需要轉換回來。 – Jeff 2012-03-27 00:29:32