在命令对象中调用beforeValidate

时间:2014-09-23 14:19:53

标签: grails

我有以下命令对象

class SaleDetailCommand implements Serializable {
  Item item
  Presentation presentation
  String measure
  Integer quantity
  BigDecimal total

  static constraints = {
    importFrom SaleDetail
  }

  def beforeValidate() {
    total = item.sellingPrice * quantity
  }

}

在上面的命令对象中我试图在命令对象验证之前计算总计,但是当我从控制器尝试此代码时,beforeValidate没有调用它

if (command.hasErrors()) {
  command.errors.allErrors.each { error ->
    log.error "[$error.field: $error.defaultMessage]"
  }

  return error()
}

我在控制台中收到此消息

错误2014-09-23 08:06:26,585 [http-bio-8080-exec-8] ERROR builder.ActionDelegate - 类[{1}]的[total:Property [{0}]不能为空]

我也试过了!command.validate

执行此任务的解决方案是什么?

谢谢你的时间!

0 个答案:

没有答案