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

フォローする