我正在创建一个用户注册表单,并将出生日期添加到所需的字段中。
我已经搜索了google、github和stackoverflow,寻找了一个良好的出生日期(日期) regex,并发现如下:
user.rb
DateRegex = /^\d{4}-\d{2}-\d{2}/
validates_format_of :date_of_birth, :with => DateRegexnew.html.erb
<%=label_tag :date_of_birth %>
<%=f.text_field :date_of_birth %> (我知道这将允许一些假的出生日期,但我现在不喜欢安装诸如验证及时性之类的东西。)
然而,在测试出生日期时,它似乎并没有在regex中强制执行4-2-2。它有时允许2-2-2,2-4-2,2-2-4,它允许连字符和slashes...help?
此外,如果有必要,我如何使用3个文本字段并将其输入一个mysql date_of_birth列?
发布于 2011-05-19 21:39:43
你总是可以用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日这样的事情。
发布于 2020-03-02 15:37:49
我希望这能帮到你。
validates :date_of_birth, format: { with: /^\d{4}-\d{2}-\d{2}$/, multiline: true }https://stackoverflow.com/questions/6065048
复制相似问题