반응형

기술 공부 노트/MVC Basic 13

ASP.NET MVC - Validation(4)

이제야 현실을 깨닫고 정신차리기 시작한 쎄스 인사올립니다^^ (하지만, 언제 다시 나사가 풀릴지는...헤헤) Data Annotation과 함께하는 유효성 검사 이번에는 유효성검사에 데이타 어노테이션 밸리데이터(이하, DAV)를 사용해보겠습니다. DAV는 Required 나 StringLength 같은 몇 속성만 추가하여 간단하게 유효성검사를 수행합니다. DAV 속성 사용하기 데이터 어노테이션 모델 바인더는는 밸리데이터 속성으로 유효성을 검사합니다. System.ComponentModel.DataAnnotations 네임스페이스는 다음의 밸리데이터 속성을 포함합니다. Range - 값의 범위를 나타내는거죠. RegularExpression - 정규식에 매치가 되는지 확인하는것이고요. Required - ..

ASP.NET MVC - Validation(3)

이번 시간은 컨트롤러에 있었던 유효성 검사 로직을 서비스 계층으로 옮기도록 하겠습니다. 관점의 분리가 향후 유지보수에 날개를 달아주길 기대하며... 서비스 계층에 유효성 검사를 일단 기분좋게 웃으면서 시작하시죠. ㅎㅎㅎ 관점을 분리시키자 ASP.NET MVC 어플리케이션을 빌드하게 될때, 컨트롤러 액션들안에 데이터베이스 로직을 두는것은 그렇게 바람직하지는 않습니다. 데이터베이스와 컨트롤러 로직이 혼합되게되면, 향후 유지보수가 더 어려워질것이기 때문이죠.(아니라고 생각된다면, 이번 포스팅은 안보셔도 됩니다ㅡ.ㅡ) 음.. 추천되는 것은 데이터베이스 로직을 리파지터리 계층에 두는 것이죠. 예를들어, TelDirRepository라고 이름지은 간단한 리파지터리가 있습니다. 이 리파지터리는 어플리케이션에서 디비에..

ASP.NET MVC - Validation(2)

새로운맘으로 다시 시작하는 무책임 쎄스입니다. 그래서!!! 군말없이 바로 시작하도록 하겠습니다. IErrorDataInfo 인터페이스로 유효성검사하기 IErrorDataInfo 인터페이스를 이용하여 유효성 검사를 어떻게 하는지 알아보도록 하겠습니다. 일단 해보자 TelDir 테이블을 생성하고, 엔티티 프레임워크로 모델 클래스를 생성합니다. 그러면, 다음과 같은 엔티티가 표현되겠죠? 하도 많이 해서 지겨우실겁니다-_-;; 다른 예제를 생각해야하는데.. 제가 게을러서; 아이디어도 없고; 컨트롤러 클래스 작성하기 다음의 컨트롤러 소스를 보시죠. using System; using System.Collections.Generic; using System.Linq; using System.Web; using S..

ASP.NET MVC - Validation(1)

이번 포스팅은 유효성검사에 대해서 나눠보겠습니다. 유효성검사라 하면 필수입력값에는 꼭 데이터를 입력해야하고, 데이터의 타입이나 길이에 맞게 들어오게 체크하는 것을 말하겠죠? 자, 이번시간 ASP.NET MVC 가 알려주는 model state 와 validation 헬퍼 도우미에 대해서 알아보도록 하겠습니다. Model State 알기 모델 스테이트(Model State)는 정확히는 모델 스테이트 딕셔너리라고 해서, 유효성 에러들을 표시하기위해 사용됩니다. 예를들어, 다음의 소스를 보면 데이터베이스의 TelDir을 Add 하기 전에 TelDir의 속성들의 유효성을 체크합니다. 유효성 검사중에 이 프로퍼티들에서 fail이 나면 model state dictionary(컨트롤러 클래스의 ModelState를..

ASP.NET MVC - Model(2)

이렇게 글쓰면서 이런 경험 처음이야~ 를 느낀 저는.. 제글을 읽는 모든 분에게 고합니다;;; 제 글을 봐주시는건 참으로 고맙습니다. 허나, 제 글을 본인글처럼해서 블로그에 올리신다면.. 저는 어떻게 해야할까요? 그러지말아주세요. 꼭 부탁드립니다. 찔리시는 분이 있다면 삭제바랍니다. 삭제를 계속 안하신다면 신고해야겠죠? 이런기분 훌훌털고 다시 집중하도록 하겠습니다. 지난 시간에 이은 모델 생성이야기 두번째 글입니다. 이번시간은 LINQ to SQL을 이용해보도록 하죠^^ LINQ to SQL로 모델클래스 생성하기 지난시간 '엔티티 프레임워크로 모델 생성하기' 때에 데이터베이스와 테이블을 생성하였습니다. 그것을 그대로 사용하겠습니다. 궁금하시면 지난 포스팅을 참고하여주세요. LINQ to SQL 클래스 생..

ASP.NET MVC - Model(1)

이번 포스팅은 모델에 대해서 알아보도록 하겠습니다. 어서 시작하죠^^ 엔티티 프레임워크로 모델 클래스 생성하기 Microsoft Entity Framework는 O/RM 툴로서 자동으로 데이터베이스의 데이터 접근 계층을 생성해줍니다. 음.. 그러니까 데이터 액세스를 하는 클래스를 생성하는데 힘을 뺄 필요가 없게하는거죠. 일단, 간단한 어플리케이션 개발을 통해 알아가보도록 하시죠~ TelDir 데이터베이스 만들기 제 포스트 중 ASP.NET MVC - View(3) 를 참고하셔서 우선 만드시죠. 그때는 뷰에 중점을 뒀기 때문에 정말 그냥 보여주는 것까지만 해봤고요, 지금 시간은 그 이후에 작업을 해볼겁니다. insert, update, delete 작업이요. select는 해봤고요. ㅎㅎ 디비 생성을 마치..

ASP.NET MVC - View(4)

활기차게 시작해보겠습니다. 하나하나의 글이 성공으로 가는 지름길임을 믿으면서.. TagBuilder 클래스를 이용한 HTML도우미 만들기 ASP.NET MVC 프레임워크에는 HTML 도우미를 만드는 TagBuilder 클래스를 가지고 있습니다. 이름에서도 풍기듯이 이 클래스는 HTML 태그들을 쉽게 만들수 있게 도와줍니다. 자, 이제 이 TagBuilder 라는 놈을 만나러 가볼까요? TagBuilder 클래스 살펴보기 TagBuilder 클래스는 당연히 System.Web.Mvc 네임스페이스에 포함되어있는 클래스고, 5개의 메쏘드를 가지고 있습니다. 1. AddCssClass() - 태그에 새 class="" 속성 추가하기 2. GenerateId() - 태그에 id 속성 추가하기. 이 메쏘드는 자동적..

ASP.NET MVC - View(3)

갑자기 생각나네요. 제 좌우명.. '일신우일신' 매일매일 새로워지고 발전된 모습으로 살아가려는 몸부림의 일환으로 맘속에 담아두고 있는 말이죠. 근데 다른쪽 마음에서는 계속 쉬라고, 편히 있으라고, 괜찮다고,,, 성공을 향해 달려야 하는 제게 앉아 있으라고, 누워 있으라고, 자라고,,, 아흐~ 이놈에게 이겨야하는데 쉽지가 않네요. 어쩌다가 한번씩 이기는 형편이죠. 머.. 지금 이렇게 컴터앞에 앉아 글을 쓰고있는건 제가 이겼다는 증거겠죠? --; 전 위너입니다. 이겼습니다. 그냥 제 자신에게 나약해지지말자라는 각오를 위한 잡소리였습니다.ㅎㅎ 다시한번 새로운 마음으로 시작해 보도록 하죠^^ 이번에는 데이터베이스의 테이블에 있는 값들을 HTML로 출력해보겠습니다. 준비되셨죠?^^ DB 데이터를 테이블에 나타내기..

ASP.NET MVC - View(2)

안녕하셨죠? 지난번에 이은 뷰에대해 알아보기. 두번째 시간이네요. 이거 새로운 마음가짐으로 시작한지 얼마안되어 또 흩으러진 모습을 보였네요^^;; 오늘 제 친한벗이 또 한번 제게 채찍질(?)을 해댔죠. 고마움으로 받아들였습니다. ^^ 역시 항상 함께해주는 친구는 좋네요 ㅎㅎ 잡담은 그만하고 이제 시작할까요? 지난번에 HTML 도우미에 대해서 더 알아보기로 했었죠? HTML 도우미 만들기 HTML 도우미의 이점은 우리가 일반적으로 HTML 페이지를 만드는데 타이핑으로 쓸데없이(?) 쳐대야하는 태그들의 많은 양을 감소시켜줍니다. 예로 다음의 코드를 살펴보겠습니다. 위처럼 작성하는 것 대신에 다음과 같이 작성할 수 있습니다. 역시 이름그대로 우리의 개발을 빠르게 도와줄수 있는 메쏘드네요.^^ ASP.NET M..

ASP.NET MVC - View(1)

오랜만에 글을 쓰네요^^; 오늘일을 내일로 미루고미루다보니 ㅎㅎ 이렇게 되었네요;; 깊이깊이 반성하고 있습니다. 제 블로그 명이 What Is The Fun? 이었는데요 이제 개인적으로 재미도 찾았고 해서 블로그 명도 바꾸고(성공으로 가는 발자취) 디자인도 변경했습니다^^ 새로운 맘가짐으로 다시 시작해보려고요. 자~ 시작해볼까요? 뷰 알기 우리는 애플리케이션은 표현로직과 업무로직을 분리하는 것이 좋다는 것을 알고 있습니다. 이렇게 하지 않으면 이 두 로직이 이리저리 꼬이게되고(움찔--;) 약간의 수정조차 힘들게되는 유지보수의 어려움이 초래되죠. ASP.NET MVC 에서는 이를 강제적으로 분리합니다. 뷰는 단지 컨트롤러의 출력만 담당하게 됩니다. 최종적으로 브라우저의 보여줄 HTML 만 렌더하는 작업만 ..

반응형