java - 使用 Play! 进行域对象验证框架

标签 java validation playframework

我想在没有自动参数绑定(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/

相关文章:

playframework - 游戏框架中的多个数据库

java - 俯仰和偏航 - 位置和隐形传输

java - 视频播放询问安全定时器重置

java - 在递归方法中返回错误的计数

regex - HTML5 验证模式例如 : 13-124132424

scala - 游戏框架测试。 FakeRequest 总是以空体发送(scala)

java - hibernate 更新JPA外键

ruby-on-rails - 如何验证 RoR 中的用户输入?

Silverlight DataGrid - 在未编辑单个单元格时验证新行

java - 玩!框架: using find() model method on a collection