来自自定义验证器的 GRAILS 运行 查询

GRAILS run query from custom validator

我的域名 class 是这样的:

class PurchaseOrder {

    String nomor
    Date tanggal
    Supplier supplier

    def dataSource


...
    static constraints = {
        tanggal validator: { val, obj ->
            SimpleDateFormat tempSdf = new SimpleDateFormat('yyyy-MM-dd')

            List tempRows = new Sql(dataSource).rows("select max(start_date) as tanggal_saldo_awal from spareparts_bb where start_date <= now()")
            Date tanggalSaldoAwal = null
            if (tempRows != null) {
                tanggalSaldoAwal = tempRows[0].tanggal_saldo_awal
                if (val < tanggalSaldoAwal) {
                    return(['lebihKecilTanggalSaldoAwal', tempSdf(tanggalSaldoAwal)])
                }
            }

        }

}

我想从我的自定义验证器调用我的存储过程。但是我得到了这个错误

Class: groovy.lang.MissingPropertyException

消息: 没有这样的 属性:class 的数据源:com.integra.PurchaseOrder 可能的解决方案:数据源

在验证器中使用 obj.dataSource,因为它在静态上下文中运行。