0

我有发票

class Invoice{
    static hasMany = [lineItems: InvoiceItem]
    double total
}

class InvoiceItem{
    String description
    double price
    double qty
}

我的问题是表单验证。如果用户在价格或数量中输入字符串或无效数字格式,我会得到一个

Failed to convert property value of type java.lang.String 
to required type double for property price

但是错误出现在 Invoice 对象中而不是 LineItems 对象中,因此我无法在 RED 中适当地突出显示表单。(并且字段值在显示时保持为零,因此消息对用户来说有点毫无意义)

我正在考虑使用带有字符串参数的 COMMAND 对象并验证它们的数值,但我不知道如何绑定 InvoiceItem 列表。

什么是合适的 Grails 方式?

我可以用javascript在客户端进行所有验证,但这不是我的问题

4