gpt4 book ai didi

ruby - Rails 应用程序的出生日期正则表达式 yyyy-mm-dd

转载 作者:数据小太阳 更新时间:2023-10-29 07:31:02 25 4
gpt4 key购买 nike

我正在创建一个用户注册表单,并将出生日期添加到必填字段。

我在 google、github 和 stackoverflow 上搜索了一个好的出生日期(日期)正则表达式,并找到了这个:

user.rb

DateRegex = /^\d{4}-\d{2}-\d{2}/

validates_format_of :date_of_birth, :with => DateRegex

new.html.erb

<%=label_tag :date_of_birth %>
<%=f.text_field :date_of_birth %>

(我知道这会允许一些伪造的出生日期,但我不想在此时安装验证及时性之类的东西。)

但是,在测试出生日期时,它似乎并没有强制执行正则表达式中的 4-2-2。它有时允许 2-2-2、2-4-2、2-2-4,并且它允许连字符和斜杠...请帮忙?

此外,如果需要,我如何使用 3 个文本字段并将其输入到一个 mysql date_of_birth 列中?

最佳答案

您总是可以只使用 Date.parse 让您的生活更轻松。如果可以解析,则可能是有效日期:

validates_each :date_of_birth do |record, attr, value|
begin
Date.parse(value)
rescue
record.errors.add(attr, "Invalid date")
end
end

这样做的好处是可以拒绝 99-99-99 和 2 月 30 日之类的事情。

关于ruby - Rails 应用程序的出生日期正则表达式 yyyy-mm-dd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6065048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com