我正在將我當前的asp.net網站遷移到mvc 3.舊的asp.net頁面實現中繼器控制,並且可以驗證代碼背後的每一行。如何在實現IValidatableobject的類中驗證ILIST類屬性中的行?
我創建了一個Model類並繼承了IValidatableObject。請參見下面的代碼:
public class ManageInstitutions : IValidatableObject
{
public ManageInstitutions() { }
public int InstitutionID { get; set; }
public string InstituteName { get; set; }
public string FName { get; set; }
public string LName { get; set; }
public string EAddress { get; set; }
public IList<InstitutionIPBL> IPDetailsList { get; set; }
//Validation Function
public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
{
foreach (var item in IPDetailsList)
{
if (item.IPPart1.Length == 0 && item.IPPart2.Length == 0 && item.IPPart3From.Length == 0 && item.IPPart3To.Length == 0 && item.IPPart4From.Length == 0 && item.IPPart4To.Length == 0)
{
//How to return ValidationResult that will identify which row got an error?????????
}
}
}
}
的InstitutionIPBL
是從舊asp.net業務層傳來的一類。我重新使用這個類來表示我的模型中的屬性。
我需要知道如何識別哪一行出錯。我正在使用此語法來檢查該字段是否有效:Html.ViewData.ModelState.IsValidField("[Field Name]"))
我的問題是如何確定哪一行出現錯誤,如上面的代碼所示。
有人嗎?請指教。提前致謝