我想在没有自动参数绑定(bind)的情况下验证域对象以限制可以由客户端设置的属性。
下面的类(来自 Play! docs 的例子)...
public class User {
@Required
public String name;
@Required
@Min(0)
public Integer age;
}
...通常是这样验证的
public static void hello(@Valid User user) {
if(validation.hasErrors()) {
params.flash();
validation.keep();
index();
}
render(user);
}
但在这种情况下,user
的所有字段都可以由客户端设置。
是否可以使用 Play! 触发域对象验证(不是“ Controller 验证”)? 1.2明确?
public static void hello(long id, String name) {
User user = User.findById(id);
user.name = name;
user.validate(); // <-- I miss something like this
if(validation.hasErrors()) {
params.flash();
validation.keep();
index();
}
render(user);
}
最佳答案
你试过吗
validation.valid(user);
关于java - 使用 Play! 进行域对象验证框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7803868/