自定义动态表单上的条带框架验证

时间:2016-08-31 02:21:40

标签: java validation frameworks stripes

简介

我正在使用Stripes Framework开发应用程序。 Stripes有可能声明非形式变量,可以使用getter和setter在html和ActionBean中访问直接变量。

ActionBean中的示例

class UserActionBean implements ActionBean {

    @Validate(...)
    int userid;
    @Validate(...)
    int name;

    int getUserid() { ... }
    int setUserid(int userid) { ... }
}

HTML中的示例

<input type="text" name="userid" ... />

但是,这种方法需要许多代码逐个声明变量。

为了避免这种情况,我创建了一个变量 Map post = new HashMap&lt;&gt;()来接受从html到ActionBean的所有输入,如下例所示:

<input type="text" name="post['userid']" ... />

并在ActionBean上访问

Integer userid = Integer.parseInt(String.valueOf(post.get("userid")));

不幸的是,我无法使用Stripes Validation来实现这种方法。 post.get(“userid”)的示例内容无法验证。为了启用验证,我正在使用JQuery验证。

问题

我不仅需要提供JQuery验证,还需要提供服务器验证。我搜索Stripes框架(github)以扩展验证,但仍然不知道构建验证扩展以满足我的要求

目前的替代方案,我建立自己的服务器验证,而不是跟随条纹。

请建议我在我的案例中扩展Stripes Validation。提前致谢。

1 个答案:

答案 0 :(得分:0)

我所做的是设置validate方法,例如

@HandlesEvent(value = "validate")
public Resolution validate () throws ResponseException {

    // check validation, if failed throw Exception

    // else
    return null;
}   

这将首先从Jquery.ajax调用,然后在jquery成功块调用真实方法