我想在我的模型中验证欧洲日期格式,如"10.02.2012"
或"10-02-2012"
。Rails正则表达式:validates_format_for带两个不同分隔符的日期格式
所以我用这行:
validates_format_of :matchdate, :with => /\A\d{2}(\.|-)\d{2}(\.|-)\d{4}\Z/i, :message => "Date incorrect"
正则表达式必须是正确的,但无论我输入,它总是返回"Date incorrect"
。
我从一种形式的输入,其中我结合使用
<%= f.text_field :matchdate, :size => '10' %>
与日期选择器UI,输出正确的格式。 (“”我想用这两个和‘ - ’分隔符,因为我收集另一范围,其中两个版本应该被允许的日期)
的PARAMS看起来是正确的,以及有它说:"...matchdate"=>"29.09.2012"
我做错了什么?
您是否使用/^\d{2} (\.|-)\d{2}(\.|-)\d{4}$/i? – rodzyn
是的,谢谢,但它不工作。 – flyte321
这是值得一试的: /\A[::digit:]]{2}(\.|-)[[:digit:]]{2}(\.|-)[[:digit:]] {4} \ Z /我 – Yarneo