使用Ajax进行Grails命令对象验证

时间:2015-05-31 15:54:55

标签: ajax validation grails

在Grails项目中,我有一个命令对象来验证提交的表单。这个命令obj。还有自定义验证器。数据使用jQuery ajax($ .post)提交。

我的问题是我现在如何将使用jQuery Ajax发送的数据映射到Command对象中列出的属性?

例如:

$.post('comment/save', {id: id, title: title});

然后在控制器中:

def save(saveCommand cmd){

  if (!cmd.validate()){
    ...
  }
}

class saveCommand {

   Comment comment_id    // maps to: params.comment_id send with ajax
   String title          // maps to: params.title send with ajax

   // constraints
   // validators    
}

1 个答案:

答案 0 :(得分:2)

comment_id属性应该从您从jQuery发送的参数映射中的“comment_id”参数绑定,而不是像现在一样“id”。

无论如何,我猜你有一个Comment域类,你希望从数据库中绑定这个实体。在这种情况下,您应该为参数名称添加“.id”后缀。

JPanel

PS:也许你想在命令类中将“comment_id”重命名为“comment”。这样做,您必须将ajax请求中的参数名称更改为“comment.id”。