2012-03-07 11 views
0

私はCRMを開発しており、モデル検証でいくつかの問題に直面しています。モデル内の1つのオブジェクト(私はEFを使用しています)がフォーム上で検証されたとき、プロセスは簡単です。しかし、複数のオブジェクトで検証を処理しようとすると、1つのトップレコードのみが検証されます。コードは次のとおりです。MVC 3での入力検証

@model List<CROS1.Models.GetParams_Result> // 

<h3 align="center"> 
    Please fill report params 
</h3> 


<div class="sidebar_item"> 
    @using (@Ajax.BeginForm("ConfirmGeneration", "Home", ajaxOptions: new AjaxOptions 
                      { 
                       HttpMethod = "GET", 
                       UpdateTargetId = "params", 
                       InsertionMode = InsertionMode.Replace, 
                       LoadingElementId = "resultLoadingDiv", 

                      }, htmlAttributes: new { id = "Form2" })) 
    { 
     <table id="hor-minimalist-b"> 
      <tread> 
       <tr> 
        <th scope ="col">Report</th> 
        <th scope ="col">Filter</th> 
        <th scope ="col">Value</th> 
       </tr> 
      </tread> 
      @foreach (CROS1.Models.GetParams_Result res in Model) 
      { 

       <tbody> 
        <tr> 
         <td>@Html.DisplayTextFor(r => res.R_name) 
         </td> 
         <td>@Html.DisplayTextFor(r => res.Filter_name) 
         </td> 
         <td>@Html.EditorFor(r => res.Value) 
         @Html.ValidationMessageFor(r=>res.Value) 

         </td> 
         <td>@Html.DisplayFor(r => res.Unity) 
         </td> 
         @Html.HiddenFor(r=>res.F_id) 
         @Html.HiddenFor(r=>res.R_id) 
         @Html.HiddenFor(r=>res.Filter_id,new{id="some"}) 
         @Html.HiddenFor(r => res.F_name) 
         @Html.HiddenFor(r => res.Filter_name)*@ 
         @Html.HiddenFor(r=>res.DefaultValue) 
         @Html.HiddenFor(r=>res.Visibles) 
        </tr> 

       </tbody> 


      } 
     </table> 


     @* <input type="submit" id="submGetParams" />*@ 

    } 
</div> 

この場合、どうすればよいですか?このような検証を実行するには、モデルはどのように見えますか?あなたは、アイテムのリスト内の各項目を反復処理する必要が

答えて