Java中灵活,可配置的输入验证(webapp)

时间:2014-03-06 12:10:49

标签: java validation web input

我需要设计一个灵活的机制,用于基于Java servlet的Web应用程序的输入验证(在后端)。

它需要能够针对固定值列表正则表达式数据库查询等进行验证,真的应该很容易实施新的检查。

目前,我正在考虑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]+@*[\w\-\.]+$]]></data>
    </validator>
  </field>

其他人如何设计这些东西?那里有任何合理的最佳实践吗?该做什么和不该做什么? 任何反馈意见。

1 个答案:

答案 0 :(得分:0)

您可以随时使用Hibernate Validator之类的现成解决方案。 JSF也具有用于验证的bult-in功能(甚至通过AJAX)。我认为没有必要重新发明轮子。