2012-06-11 3 views
2

ASP.NET MVC2를 사용하고 있습니다.
내 모델의 필드에 주석을 달고 ModelState.IsValid을 확인하는 방법을 좋아합니다.확인할시기 및 확인하지 않을시기 ModelState.IsValid

확인의 확실한 이유는 유효성 검사를 수행 할 때이지만 새로운 유효성 검사 규칙이 모델에 적용되는 경우 항상 확인해야하는 이유는 무엇입니까?
그런 식으로 컨트롤러가 IsValid을 검사하는지 잊지/확인해야합니다.

모든 경우에이 검사를 수행하지 않는 이유가 있습니까? 어쩌면 컨트롤러 동작에 부작용이있을 때 (DB 작성 등)?

답변

6

새 유효성 검사 규칙이 인 모델에 적용되는 경우 항상 확인해야합니까?

이 확인 다른 사람이 유효한 상태가없는 모델을 지속 결국 항상을 수행해야합니다.

5

일반적으로, asp.net-MVC에, 행동에 전달 모델은 보기 모델이 있고, 그들은 행위에 활동에 필요한 모든 데이터 만 포함되어 있습니다. 해당 데이터가 유효하지 않은 경우 이론적으로 작업이 해당 작업을 수행 할 수 없어야합니다.

ModelState.IsValid은 조치에 필요한 모든 데이터가 작동 할 준비가되어 양호한 상태인지 확인합니다. 에서 해당 데이터의 유효성을 검사하는 것을 원하지 않는 이유가 표시되지 않습니다.

2

모델에서 수집 된 데이터를 사용하여 무언가를 시도하기 전에 모델이 유효한지 항상 확인해야합니다. 이것이 처음부터 검증의 목적입니다.

1

분명히 언급 될 것 같지만, 나는 그것을 시도 할 것이다. 아니오 모델을 게시 할 때 모델 상태를 확인하지 않아도됩니다.. 일반적인 시나리오는 데이터를 서비스에서 제외하고 작업을 표시 할 때입니다.

관련 문제