Validation with Annotations — 驗證新趨勢

September 28, 2006 (Thursday)

Validation 是每個像樣一點的系統必備的功能,不過做法就有很多了。以 Java Web AP 為例,從 JavaScript 的 Validation 到使用 Java Code 去做,或是使用 Jarkata Commons Validator 都是很常見的方法,也各有優缺點。

最近在網路上出現了一些跟 Validation 相關的文章,包括有 Hibernate can meet your validation needsSpring Validation with Java Annotations。或許你會奇怪,Hibernate 跟 Spring 並不是在處理 Validation 的事情的。到底是怎麼回事呢?原來現在最流行的 Validation 方法是使用 Annotation!在 domain model class 的 getter/setter 上加上 Annotation Tag,例如:@Required 就代表這個值是必需填入的。@Length(max = 10) 代表最長不能起過 10 個字元等等。在 domain model 宣告完成後,在需要時再由 Java 程式去執行驗證,而驗證是自動依據 Annotation 的設定所做的。

不管用 Hibernate 或是 Spring 做,概念上都大同小異。把 Validation 資訊放在 domain model 的好處是,不管在哪個 level 想做驗證,都會用到同樣的資訊。否則很有可能會變成在 User Input 寫一段,存取 DB 時又寫一段。而事實上驗證的資訊放在 domain model 事實上是最適合的了,因為驗證限制可以說是 domain model 的一項註解。

Annotation 在 Java 5 出現以來,有很多範例應用。但相對實戰上使用,而且必需要使用 Annotation 才能達成的任務一直都不是很多。直到最近,不少 Annotation 應用都已經成熟。不久的將來,Annotation 就會變成常用的 Java 語法,而系統中出現 Annotation 就跟出現平常的 code 一樣自然。

technorati tags:, , ,

Blogged with Flock

Entry Filed under: Design, Java, JavaScript, Programming, Technologies, Trends, 技術, 趨勢. .

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Trackback this post  |  Subscribe to the comments via RSS Feed


訂閱 Peace Palace

Blog Stats

部落格觀測

Top Posts

Blog

Vlog

Categories

Meta