TheFormAssembly.com의 wForms 익스텐션은 폼 필드의 class
속성에 메타데이터를 집어넣어 폼 검증 (Validation), 힌트, 페이징, 필드 반복 등 폼 작성에 필요한 다양한 기능을 제공하고 있습니다. 기존에는 JavaScript를 직접 작성하여 해결했었는데 이렇게 class
속성을 이용해 처리하니 HTML이 깔끔해지네요.
다만 서버측 폼 검증 엔진과의 연동이 함께 되면 좋겠다는 생각이 듭니다. 사실 이 부분도 불가능한 것만은 아닐 듯 합니다. 고객이 어느 웹 페이지의 어느 폼을 전송했는지만 안다면 해당 웹 페이지의 폼과 그에 따른 검증 클래스를 기억해 두었다가 충분히 연동시킬 수 있겠지요. 좀 더 지켜보아야 겠지만, Commons-validator보다 훨씬 간결한 방법이 아닐까 싶습니다.
또한 원칙적으로는 JavaBeans 의 setter 메소드에서 값 검증이 일어나고 IllegalArgumentException
이 던져져야 한다고 생각하기 때문에, 간단한 Annotation 을 통해 앞서 말한 검증 부분이 자동으로 빌드된 클래스에 mixin 되면 더더욱 좋겠습니다:
@UseFormAssembly( “../../../webapp/jsps/addArticleForm.jsp#formName” )
public class Article {…… Getters and Setters here ……
}
4 Comments
-
영회 said,
January 4, 2006 at 1:42 am
고 객이 어느 웹 페이지의 어느 폼을 전송했는지만 안다면 해당 웹 페이지의 폼과 그에 따른 검증 클래스를 기억해 두었다가 충분히 연동시킬 수 있겠지요. -> Spring 의 Form 기반 Controller 들은 이러한 기능을 제공하고 있습니다. ^^
-
영회 said,
January 4, 2006 at 1:42 am
새해 인사도 못 드렸네요… 새해 복 많이 받으세요.
-
Trustin Lee said,
January 4, 2006 at 8:15 pm
스프링에서 다양한 프리젠테이션 레이어를 제공한다면 좋겠는데, 지금은 웹만 되고, AJAX 지원도 뛰어나지 않아 망설여지네요. 밸리데이션 로직이 스프링 코어에 종속적이지는 않은가도 걱정되는 부분입니다.
-
Trustin Lee said,
January 4, 2006 at 8:15 pm
ㅎㅎ 네 영회님도 새해 복 많이 받으세요! ^^