모델바인더는 MVC가 내세우는 강력한 기능중에 하나로써 , 객체의 유효성을 직접 그 객체에 정의하는 방법이다. 이것을 이용하여 사용자는 유효성검사를 좀더 쉽고 직관적이며 , 적은 코딩으로 이루어낼수 있다.


먼저 ModelBinder 를 사용하기 위해 기존의 코드를 수정하자

 

public class HelloModel

{

    public String TodayDate { get; set; }

    [Required(ErrorMessage = "안녕이라고 말해주세요.")]

    [RegularExpression("^안녕")]

    public String HelloMsg { get; set; }

}

[코드 : Models/HelloModel]

 

위의 코드에서 우리는 단순한 인자 값에 Required 와 RegularExpression 을 포함하였다. 이는 해당 모델에 항상 값이 있어야 하며

, 정규식을 통과해야 함을 의미한다.


이제 해당 모델을 구현하는 뷰를 만들어보자. 먼저 HelloController 를 생성하고 Create 액션을 코딩한다.

public ActionResult Create()

{

    return View();

}


 

[코드 : Create Action. 기본코딩으로 아무것도 손을 대지 않았다.]


해당 코드에서 우클릭을 하면 새로 뷰를 추가할수 있다. AddView를 클릭한후 다음그림과 같이 같이 입력한다.

8_1_1.png

[그림 : 설정]


해당 화면에서 우리는 Create페이지를 생성한다는 것 , 그리고 해당 Model에 바인딩되는 StrongView 를 생성한다는 것 , 그리고 그 모델로써 HelloModel(ModelBinder 가 설정된)을 사용한다는것을 알수 있다. 이로써 우리는 ModelBinder 를 사용한 예제를 완성하였다. 너무 간단하지 않은가? 그렇지만 기능은 전부 구현되었다!

http://호스팅된페이지/Hello/Create 페이지로 이동해서 결과를 확인해보도록 하자.
 

 8_1_2.png
[그림 : HelloMsg 가 미 입력된 화면 , 해당 메시지는 항상 입력되야 한다]

 

이제 HelloMsg 에 입력값을 넣어보면 다음과 같이 변하는 것을 알수있다.
 

8_1_3.png
[그림 : 안녕이라는 메시지가 포함되지 않은경우 포함되는 에러메시지]

 

 

Summary
이로써 MVC의 유효성 검증에 대한 모든 것을 살펴보았다. 허무하리라만큼 구현하긴 간단하지만 잘만 사용하면 , 강력한 기능을 구현하는 것이 이 ModelBinder라고 할수 있다. 다음 아티클에서는 실제 MVC에서 사용하는 반환값들의 모든 종류에 대해서 알아보도록 하겠다. 




ASP.NET MVC3 시리즈 강좌 리스트
[ASP.NET MVC3강좌] 1. MVC(Model- View – Controller) 란 무엇인가.
[ASP.NET MVC3강좌] 2. MVC 환경 세팅
[ASP.NET MVC3강좌] 3. HelloWorld MVC
[ASP.NET MVC3강좌] 4. Layout , Partial Page
[ASP.NET MVC3강좌] 5. Model 을 View에서 표현하기
[ASP.NET MVC3강좌] 6. MVC의 매력적인 기능 스캐폴딩!(With EF)
[ASP.NET MVC3강좌] 7. 유효성 검사
[ASP.NET MVC3강좌] 8. ModelBinder
[ASP.NET MVC3강좌] 9. MVC ActionResult 종류 살펴보기
[ASP.NET MVC3강좌] 10. MVC 처리 프로세스 & ActionFilter
[ASP.NET MVC3강좌] 11. Global.asax
[ASP.NET MVC3강좌] 12. (번외편) Repository Pattern
[ASP.NET MVC3강좌] 13. MEF(Managed Extensibility Framework) in MVC
[ASP.NET MVC3강좌] 14. Javascript in MVC
[ASP.NET MVC3강좌] 15. Javascript Intellicense in Visual Studio
[ASP.NET MVC3강좌] 16. JSON in MVC - 1
[ASP.NET MVC3강좌] 17. JSON in MVC - 2
[ASP.NET MVC3강좌] 18. HTML5 in MVC
[ASP.NET MVC3강좌] 19. MVC Tips 1 - HandleUnknownAction
[ASP.NET MVC3강좌] 20. MVC Tips 2 - Cache ActionFilter





profile

ASP.NET MVP 2009~2011