0
我使用正則表達式。檢查正則表達式的日期
validates :cc_exp_date , format: { with: /(?<month>1[0-2]|0[1-9])\/(?<year>[0-9]{2,4}$)/, message: "invalid date" }
用這句話來檢查這種格式的日期:
MM/YY, MM/YYYY.
但是,當我輸入的日期是這樣的:
MM/YYYYYY
驗證失敗和值保存在數據庫。我做錯了什麼?
你不覺得我們可能需要更多的代碼來告訴你什麼可能是錯的嗎?如果在驗證失敗時保存數據,那麼很可能是您錯誤地測試了驗證結果。 –
不是直接你在問什麼,但請注意,正如所述的正則表達式會接受MM/YYY格式的值。 – Coenwulf
你有沒有嘗試從正則表達式中刪除名稱?檢查與':/ 1 [0-2] | 0 [1-9] \/[0-9] {2,4} $ /' – xlembouras