2014-03-06 30 views
0

我需要爲基於Java servlet的Web應用程序的輸入驗證(在後端)設計靈活的機制。Java中的靈活的可配置輸入驗證(webapp)

它需要能夠驗證對一個固定值列表正則表達式DB查詢等,這本來應該是很容易實現各種新的檢查。

目前我正在考慮接口InputValidator的行,可以實現以實現不同的驗證類型。例如,這將通過XML文件鏈接到輸入字段。

接口

public interface InputValidator 
{ 
    public void init(Configuration config, String[] data); 
    public boolean isValid(Input inp); 
} 

實施

public class Regex implements InputValidator 
{ 
    ... 
} 

配置

<field name="username"> 
    <validator name="regex"> 
     <data><![CDATA[^[\w\-\.+\u00DF][email protected]*[\w\-\.]+$]]></data> 
    </validator> 
    </field> 

如何等人設計的這些東西?那裏有任何明智的最佳實踐?該做什麼和不該做什麼? 任何反饋意見。

回答

0

您可以隨時使用隨時可用的解決方案,例如Hibernate Validator。 JSF也具有用於驗證的功能(即使通過AJAX)。我認爲沒有必要重新發明輪子。

+0

謝謝。我的項目不使用JSF,也很少使用外部庫。 Hibernate驗證器看起來很有希望,但它似乎需要一個嚴格的bean實現。是這樣嗎? – mvreijn

+0

是的,我相信,因爲你正在把你作爲註釋的約束放在驗證字段上。 – Antoniossss

+0

由於指向Hibernate Validator的有用指針,將您的答案標記爲已接受。 – mvreijn