1

我有一個觀點如下的ModelState驗證在多增方案

@model List<item> 

@using (Html.BeginForm("Create", "Item", FormMethod.Post)) 
{ 
    @for (int i = 0; i < Model.Count; i++) 
    { 
     ..... 
     @Html.EditorFor(model => Model[i].ItemName) 
     ..... 
    } 
<input type="submit" class="btn btn-primary" value="Create Item" /> 
} 

在視圖模型這ITEMNAME都需要有一個屬性註釋是爲了進行驗證,但我真正需要的是至少一個ITEMNAME被填充到假設這個模型是有效的,但我總是會得到的ModelState的IsValid =假

+0

看着這裏http://stackoverflow.com/questions/6075339/mvc-form-validation-on-multiple-fields射擊? –

回答

1

我能夠通過使用來解決這個問題:

public class CreateItemCustomValidation : ValidationAttribute 
{ 
    public override bool IsValid(object value) 
    { 
     var list = value as List<SingleItem>; 
     if (list != null) 
     { 
      if (list.Where(o => o.ItemName!= null && !String.IsNullOrEmpty(o.ItemName) && !String.IsNullOrWhiteSpace(o.ItemName)).Count() > 0) 
      { 
       return true; 
      } 
     } 
     return false; 
    } 
} 

驗證工作,但VA lidation是POST

之前