Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
日期范围验证groovy grails_Grails_Groovy_Grails Domain Class_Grails Validation - Fatal编程技术网

日期范围验证groovy grails

日期范围验证groovy grails,grails,groovy,grails-domain-class,grails-validation,Grails,Groovy,Grails Domain Class,Grails Validation,我是groovy grails的新手,希望您能提供帮助。 我正在开发一个grails应用程序,它可以跟踪员工的工作历史。验证要求之一是员工的开始日期和结束日期持续时间不应重叠。这意味着每个员工的开始日期..结束日期范围在其雇佣日期中应该是唯一的。 所以我的问题是,我应该如何处理这个验证?它应该作为一个自定义验证器在静态约束块中完成,还是应该在数据库级别完成?虽然您的实现可能取决于您的具体需求,但对于您应该如何做,没有绝对正确的答案。尽管如此,还是有很好的理由: 如果要通过应用程序以外的方式导入

我是groovy grails的新手,希望您能提供帮助。 我正在开发一个grails应用程序,它可以跟踪员工的工作历史。验证要求之一是员工的开始日期和结束日期持续时间不应重叠。这意味着每个员工的开始日期..结束日期范围在其雇佣日期中应该是唯一的。
所以我的问题是,我应该如何处理这个验证?它应该作为一个自定义验证器在静态约束块中完成,还是应该在数据库级别完成?

虽然您的实现可能取决于您的具体需求,但对于您应该如何做,没有绝对正确的答案。尽管如此,还是有很好的理由:

  • 如果要通过应用程序以外的方式导入数据(或在数据库中以某种方式创建数据),则必须在数据库中实现此验证,或者在应用程序中安全地处理无效数据
  • 通过使用自定义验证器,处理此验证(以及由此产生的任何错误)将更加容易
  • 如果只在数据库中实现验证,则必须处理特定于数据库的错误,并且在刷新数据之前无法知道数据是否有效。那对你不太合适

从我的角度来看,我只在应用程序中实现验证器,然后如果从其他地方加载无效数据,我就有办法处理这些数据。如果数据有效性是最重要的,那么我可能会在这两个地方实现验证器,100%确保逻辑匹配

谢谢!相当全面的答案!嗨,丽娜。欢迎加入groovy。这里有一些东西可以帮助你。1.然后将日期格式从datepicker绑定到validation对象,我在validation bean中为u添加了一个基本的验证器-