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

之前