Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
Grails 圣杯日期和日期;日期范围限制?_Grails_Date_Constraints - Fatal编程技术网

Grails 圣杯日期和日期;日期范围限制?

Grails 圣杯日期和日期;日期范围限制?,grails,date,constraints,Grails,Date,Constraints,我在谷歌上搜索了一段时间,试图找到这个问题的答案。我猜答案可能是一个自定义约束,但我还是要问,Grails是否支持日期约束的概念,类似于它如何支持电子邮件或信用卡约束 我在想,有一个日期是非常有用的,此外,还有一个指定范围的标准方法 我在这里问这个问题是因为我似乎找不到关于这样一个约束的任何信息,尽管它似乎在 谢谢大家! 该范围约束适用于一系列数字,而不是日期。定制验证器可能是您所需要的,因为Grails没有内置任何东西。可能有一个插件,但我不知道。是的,我也会说你必须去定制validation

我在谷歌上搜索了一段时间,试图找到这个问题的答案。我猜答案可能是一个自定义约束,但我还是要问,Grails是否支持日期约束的概念,类似于它如何支持电子邮件或信用卡约束

我在想,有一个日期是非常有用的,此外,还有一个指定范围的标准方法

我在这里问这个问题是因为我似乎找不到关于这样一个约束的任何信息,尽管它似乎在


谢谢大家!

该范围约束适用于一系列数字,而不是日期。定制验证器可能是您所需要的,因为Grails没有内置任何东西。可能有一个插件,但我不知道。是的,我也会说你必须去定制validation@Gregg-它表示您可以拥有一个内部消息、日期或任何实现可比性并提供下一个和上一个导航方法的对象。如果您总是想针对固定范围进行验证,那么它应该是有效的。当然,这对约会可能不是很有用!啊,错过了“过分热情”。谢谢你指出这一点。看起来Don的答案是对的一个抓住了。。。这些日期不会在每次验证运行时进行评估——它们要么在启动时进行评估,要么在第一次调用时进行评估。所以像
someDate(min:newDate,max:newDate()+10)
这样的东西在应用程序运行10天后开始出现问题。如果遇到这种情况,可以使用自定义验证器更正问题。@proflux我已更改示例以避免此问题,thanks@Dónal我仍然认为,当您在静态上下文中计算Date.parse()时,这个问题仍然存在。因此,我认为proflux的评论是有效的,您需要一个自定义验证器。如果Grails允许您将闭包作为min:和max:的参数,这样就可以在运行时对其进行计算,这可能会很聪明。
static constraints = {
    someDate(min: Date.parse('yyyy-MM-dd', '2011-10-10'), 
            max: Date.parse('yyyy-MM-dd', '2012-10-10'))    
}