2014-04-25 4 views
2

웹 API에서 모델을 유효성을 검사하는 방법을 직렬화 된 문자열로받을 때 확실하지 않습니다.직렬화 된 문자열의 웹 API 유효성 확인

내가 검증을 위해 내 모델에 DataAnnotations을 사용하고, 나는 보통이 수행이 특정한 경우

public IHttpActionResult Save([FromBody] IEnumerable<User> users) 
{ 
    if (!ModelState.IsValid) 
    { 
     return BadRequest(ModelState); 
    } 

    // ... 
} 

을에서 "모델"직렬화 된 문자열에서 오는 :

public IHttpActionResult Save() 
{ 
    string Data = HttpContext.Current.Request.Form["Data"]; 
    IEnumerable<User> users = JsonConvert.DeserializeObject<IEnumerable<User>>(Data); 

    // ... 
} 

어떻게 내가 이것을 검증 할 수 있을까?

 // Validate 
     Validate<List<User>>(user); 

     if (!ModelState.IsValid) 
     { 
      return new InvalidModelStateResult(ModelState, true, new DefaultContentNegotiator(), Request, new MediaTypeFormatter[] { new JsonMediaTypeFormatter() }); // Force JSON 
     } 

감사합니다 : 위의 예에 따라

+0

맞춤형 모델 바인더를 사용할 수 있습니까? http://msdn.microsoft.com/en-us/magazine/hh781022.aspx – rene

답변

1

.