こんにちは!
オリジナルアプリケーションを作成中です。
オリアプ作成になると、スクールのメンターへの質問が
禁止されているのでそれが僕にとって非常にカロリーになっています。
とはいえ自分で調べたり、考えたりして問題解決を
目指すという行為自体は確実に自分にプラスになってるはずです。
今回はスクールの教材に載っていない機能を
付け加える中で実装できたことを一つアウトプットしたいと思います。
作成中のオリアプについて
ライブハウス経営者がアプリに登録し、イベント情報を投稿することで
ユーザーが日本全国のライブハウス情報を閲覧することができる
Webアプリケーションを開発中です。
コロナ禍ということもあり、イベントが中止になり、
ライブハウスが軒並み閉店していく中で
ライブハウス経営者やDJ、ラッパーが表現する場を提供する
助けになればいいなあと思い作成中です。
イベント日時のバリデーション
ライブハウス経営者がイベント投稿をする際に
イベント日時を記入する欄を設けました。
誰か頼むからこの実装をオシャレにできる方法を教えてください。
まじで助けて。
それはそうとイベント日時を入力する際、
明日以降の日付でないといけないバリデーションを
加えたいと僕は考えました。
まあ正直、今日以前のイベントを投稿しても
ライブハウス経営者サイドからしたら損でしかないから
そのまま実装してもいいかなと思ったけど、
僕は優しいからしっかりバリデーションを加えます。
イベント日時を明日以降にしたい
いろいろ調べた結果、
validates :event_date, presence: true
validate :day_after_today
def day_after_today
unless event_date == nil
errors.add("明日以降の日付を入力してください") if event_date <= Date.today
end
end
これにしたら余裕やろとか思って
試したらエラーがでやがった
errors.add(バリデーションしてえカラム, "出力するエラーメッセージ")
ってしなきゃいけないところの「バリデーションしてえカラム」が
抜けてたみたい。
validates :event_date, presence: true
validate :day_after_today
def day_after_today
unless event_date == nil
errors.add(:event_date, "明日以降の日付を入力してください") if event_date <= Date.today
end
end
上記に変更したらいけました。