在 play 2.0 中,您可以通过以下方式获取请求绑定并完成验证(通过注释):
ABCForm abcForm=(ABCForm)form(ABCForm.class).bindFromRequest().get();
我遇到的问题是,我想在修剪表单值后完成验证。那么有没有办法在 play 2.0 中推迟或调用验证内容绑定?
在 play 2.0 中,您可以通过以下方式获取请求绑定并完成验证(通过注释):
ABCForm abcForm=(ABCForm)form(ABCForm.class).bindFromRequest().get();
我遇到的问题是,我想在修剪表单值后完成验证。那么有没有办法在 play 2.0 中推迟或调用验证内容绑定?
绑定和验证相结合。据我所知,绑定后的验证是不可能的。但是,您可以创建一种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 验证。
如果您需要在验证之前修改您的值。您可以为您的领域创建一个二传手并在那里进行修剪。