오늘 (웹이 아닌 GUI 응용 프로그램의 경우) MVC 패턴을 배우기 시작했으며 데이터 유효성 검사를 수행 할 위치에 대해 몇 가지 질문을했습니다.MVC 유효성 확인 질문
내가 읽은 바로는 대부분의 사람들이 모든 유효성 검사가 컨트롤러에서 이루어져야하며 모델은 데이터의 상태 만 유지해야한다고 말하는 것처럼 보입니다. 그러나 어떤 경우에는 모델에서 검증을하는 것이 더 합리적 일 것입니다.
예를 들어, 클라이언트가 연결하려는 서버의 ipv4 주소를 gui에서 변경한다고 가정하십시오. 우리는 이것이 실제로 임의의 문자가 아닌 ipv4 주소인지 확인하고자합니다. IP 주소가 유효하면 모델의 해당 데이터를 새 IP 주소로 변경하고, 유효하지 않은 경우보기에 오류 (또는 뭔가)를 표시하려고합니다.
컨트롤러에서 확인한 경우 미래에 다른 컨트롤러 /보기를 원한다면 (내가 알 수있는 것부터 매우 가깝게 결합되어 있기 때문에) 두 컨트롤러 모두에이 동일한 인증 코드를 포함시켜야하므로 동일한 코드의 두 부분을 관리해야합니다. 물론 모델에서 검증이 수행 된 것처럼 코드 한 개만 관리하면 버그가 발생하기 쉽습니다.
이렇게해야합니까? 아니면 컨트롤러에서 그렇게하는 것이 더 합리적인가? 또는 모델에서 일부 데이터를 처리해야하고 컨트롤러에서 일부 데이터를 처리해야합니까?
감사합니다.
가능한 복제본 : http://stackoverflow.com/questions/134388/where-do-you-do-your-validation-model- 컨트롤러 또는 뷰 –