日期范围验证groovy grails

时间:2019-01-15 06:51:37

标签: grails groovy grails-domain-class grails-validation

我对groovy grails是陌生的,因此将不胜感激。 我正在研究一个grails应用程序,该应用程序可跟踪员工的工作场所历史。验证要求之一是员工的开始日期和结束日期持续时间不应重叠。这意味着startDate..endDate范围在每个雇员的受雇日期中应该是唯一的。 所以我的问题是我应该如何处理此验证?应该在静态约束块中作为自定义验证器完成它,还是应该在数据库级别完成?

1 个答案:

答案 0 :(得分:1)

虽然您的实现方式可能取决于您的特定需求,但是对于应该如何执行操作,没有绝对正确的答案。但是,其中一个还是另一个有充分的理由:

  • 如果您打算通过应用程序以外的其他方式导入数据(或以某种方式在数据库中创建数据),那么您要么必须在数据库中实施此验证,要么在应用程序中安全地处理无效数据。
  • 使用自定义验证器来处理此验证(以及所有由此产生的错误)会容易得多。
  • 如果仅在数据库中实施验证,则将不得不处理特定于数据库的错误,直到刷新数据是否有效才知道。那对你来说不太好。

从我的角度来看,我只会在应用程序中实现验证器,然后有一种方法可以处理无效数据(如果该数据是从其他位置加载的)。如果数据有效性至关重要,那么我可能会在两个地方都实现验证器,并确保100%确保逻辑匹配!

相关问题