Rails5で自作Validationを使用する


スポンサーリンク

開始日〜終了日 という入力をさせたい場合がよくあります。私の知る限りはそれを一発でやってくれるValidationは存在しないため、自分でValidationを作る必要があります。

ここでは、start_at, end_atを日付の入力として、start_atよりend_atが後になる入力のみ受け付けるValidationを書きます。
任意のmodelのclass内において、


validate :date_validation
def date_validation
    if start_at > end_at
        errors.add(:end_at, "開始日かそれ以降を指定してください。")
    end
end

と書くだけです。rubyは便利なことに、日付を一発で比較してくれる機能を備えています。

ご覧いただきありがとうございました。

この記事への感想を教えてください
  • 内容が十分
  • 内容が足りなかったが役立った
  • 内容が足りず役立たなかった
  • 求めている記事ではなかった
last

フォローする