4

在 play 2.0 中,您可以通过以下方式获取请求绑定并完成验证(通过注释):

ABCForm abcForm=(ABCForm)form(ABCForm.class).bindFromRequest().get();

我遇到的问题是,我想在修剪表单值后完成验证。那么有没有办法在 play 2.0 中推迟或调用验证内容绑定?

4

2 回答 2

1

绑定和验证相结合。据我所知,绑定后的验证是不可能的。但是,您可以创建一种validate()方法,在该方法中在验证值之前对其进行修整。例如:

public class User {

    public String name;

    public String validate() {
        name.trim
        if(name == "") {
            return "Name is required";
        }
        return null;
    }
}

validate()绑定表单时将调用该方法。因此,您可以确保您的数据有效,但不会自动将错误添加到Form.Field对象中。所以这当然是一个很好的解决方案。

Play 的 Google Group 中也有很多关于表单验证的讨论,所以如果您想了解更多关于绑定/验证问题的信息,我建议您阅读它们:https ://groups.google.com/forum/#!searchin/play-框架/%5B2.0%5D$20 验证

于 2012-04-17T13:06:01.773 回答
0

如果您需要在验证之前修改您的值。您可以为您的领域创建一个二传手并在那里进行修剪。

于 2012-04-20T15:02:21.857 回答