Rails 中的日期验证
我有一个包含两个属性的 Active Record 模型:start_date 和 end_date。我该如何验证以下内容:
- 日期采用正确的 (yyyy-mm-dd) 格式
- end_date > >开始日期
I have an Active Record model that contains two attributes: start_date and end_date. How do I go about validating the following:
- The dates are in the correct (yyyy-mm-dd) format
- That end_date > start_date
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
它们以什么格式存储有关系吗?日期对象是日期对象。您是否将其存储在数据库的日期列中?
以下是我进行验证的方法:
请记住,这不会检查零日期......如果可以的话,您可能会想要。
仅供参考,如果您希望能够接受多种格式,Chronic 非常灵活。
Does it matter what format they are stored in? A Date object is a Date object. Are you storing it in a date column in the DB?
Here is how I do the validation:
Keep in mind this does not check for nil dates... you might want to if either could be.
FYI, if you want to be able to accept a variety of formats Chronic is pretty flexible.
以下是如何进行日期验证:
如何验证Rails 中的日期?
并且查看一个日期是否大于另一个日期,您可以在日期对象上使用大于/小于运算符:
因此在您的示例中:
Here is how to do date validation:
How do I validate a date in rails?
And seeing if a date is greater than another date, you can just use the greater than/less than operators on date objects:
So in your example: