2014-07-23 7 views
0

을 사용하면 내 모델 상태가 업데이트되지 않습니다. 왜 내 ModelState 컨트롤러가 업데이트되지 않았거나 오류가 있어도 true로 표시됩니다. 여기 내 코드는아약스 Post

$('#extracontent').on('click', '#Save', function() { 
    $.ajax({ 
      type: frm.attr('method'), 
      url: frm.attr('action'), 
      data: $('#form').serializeArray(), 
      success: ..., 
      error: ... 
      } 
     }); 
    //} 
}); 

[Authorize] 
[HttpPost] 
public ActionResult Edit(EditUserModel savedUserModel) 
{ 
    if (!ModelState.IsValid) // model.isValid is true even when there is an error in model 
     return PartialView.... 

I가 이미 이 TryUpdateModel (savedUserModel) UpdateModel (savedUserModel)

하지만 모델 상태가 여전히 유효 ... 검증은 이미 단순한 POST를 사용하여 테스트 작동합니까 사용하려고 back

+1

모델에 대한 유효성 검사는 무엇입니까? – markpsmith

답변

0

이제 markpsmith의 질문을 받고 당황스럽고 내 모델 유효성 검사를 붙여 넣기 시작합니다. 매개 변수에 사용 된 뷰 및 개체 클래스를 렌더링하는 데 사용 된 개체 클래스가 다른 개체이지만 매우 유사한 속성이 있다는 것을 알게되었습니다. 그래서 바인딩 속성은 모두 f입니다. 제대로 작동하지 않지만 유효성 검사가 실행되지 않았습니다. 매개 변수의 객체가 실행할 유효성을 가지고 있지 않기 때문에 ....

어쨌든 저장 컨트롤러를 올바른 모델로 변경하면이 문제가 해결됩니다.

관련 문제