2012-03-24 5 views
2

Java 데스크톱 응용 프로그램을 만들고있어 유효성 검사를 어떻게 처리해야하는지 궁금합니다.MVC 프로젝트 구조 유효성 검사 클래스 (Java)

내 컨트롤러에 등록 정보 (사용자 이름, 암호, ...)가있는지도가 나타납니다. 이제 맵에서 정보의 유효성을 검사하고 유효성 검사에서 발생하는 모든 오류를 표시하려고합니다. 그래서 나는 validation이라는 새로운 패키지에 커스텀 클래스 인 RegistrationValidation을 만들려고했다. 그런 다음이 클래스가 오류가있는 목록을 반환하도록합니다. 하지만 궁금해 ...

나는 올바른 모델 클래스에서 유효성 검사를 수행해야한다는 것을 항상 배웠고, MVC 원칙에 대한 유효성 검사 클래스를 만들고 있습니까?

내 컨트롤러 또는 모델에서이 유효성 검사 클래스를 어디에서 호출해야합니까?

유효성 검사 클래스를 어떻게 호출해야합니까? (메서드를 정적으로 만들거나, 싱글 톤으로 만들거나, 컨트롤러/모델 또는 기타에서 인스턴스를 만들면됩니까?)

유효성을 추출하는 더 좋은 솔루션이 있습니까?

답변

0

좋은 질문입니다. 지도를 가지고 있다면 쉽게 create java bean from it 수 있습니다. 이 자바 빈은 여러분의 모델이 될 것이고 어떤 종류의 공개 (validate) 메쏘드가 있습니다. 오류 목록 (프로퍼티 이름으로 키를 가진 오류 맵과 오류 메 시지도 가능합니다)을 리턴합니다.

빈 데이터 만 사용하여 유효성 검사의 일부 측면을 확인할 수 없습니다. 예를 들어 가입 페이지의 유효성을 검사 할 때 사용자 이름이 아직 사용되지 않았는지 확인하려면 다른 서비스를 호출해야합니다. 이 경우 validate (서비스 등)에 추가 매개 변수를 전달할 수 있습니다.

흐름은 컨트롤러에서 데이터 가져 오기, 모델 (Java bean) 작성, 유효성 검사 호출, 오류 목록 (있는 경우)을 보거나 다음보기로 전달할 수 있습니다. 이것은 MVC 애플리케이션의 전형적인 워크 플로우입니다.

아, 그리고 아무것도하지 말고, 싱글 톤으로 만들지 마세요. 컨트롤러를 통해 유효성을 공유하는 경우 유효성 검사기를 주입하기 만하면됩니다. spring framework을 확인하십시오. 그것은 당신에게 유용 할 수 있습니다.