验证域类中的字段

时间:2014-04-19 19:04:11

标签: grails

我需要验证给定方案中的以下字段:

这是我的域类:

lastName(blank:false, minSize:10, maxSize:50)
        dateofBirth

        address(blank:false, minSize:10)
        telephone
        socialSec

我需要验证以下内容:

  1. dateofBirth - 不能是今天的日期或提前约会
  2. telephone - 仅限数字

1 个答案:

答案 0 :(得分:2)

您可以使用许多约束来实现这两种约束。然而,最简单的往往是最好的。

对于出生日期(使用自定义validator)并假设您的出生日期为Date

dateOfBirth(validator: { val ->
  Date today = new Date()
  today.clearTime() // remove the time portion of the date
  val.before(today)
})

对于电话(使用matches)并假设您的电话是String

telephone(matches: "[0-9]+")

我建议阅读validation上的文档,因为有很多方法可以做到这一点,而这些只有两个。