我想在我的模型中驗證歐洲日期格式,如"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