現在の asp.net サイトを mvc 3 に移行しています。古い asp.net ページはリピーター コントロールを実装しており、コード ビハインドの各行を検証できます。
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]"))
私の問題は、上記のコードの図解されたコメントに従って、エラーが発生した行を特定する方法です。
誰?お知らせ下さい。前もって感謝します