LoginSignup
1
0

【rails】任意のバリデーションを設定

Last updated at Posted at 2022-07-24

単体テストコードでエラーと超格闘してます。そこでバリデーションを任意で設定する方法について、わかったのでアウトプットします。

やり方

model
class Room < ApplicationRecord
    validate :deadline_date #deadline_dateはメソッド名

    private

    def deadline_date
        if deadline.nil?
          errors.add(:deadline, "締切を入力して下さい")
        end
    end
end

注意点
・普段バリデーションを追加するときは「validates :カラム名, presence: true」というように記述しますが、今回は「validate メソッド名」と記述していると点
・メソッドはprivateより下に記述すること。
・今回はメソッド(deadline_date_cannot_be)がtrueの場合、バリデーションが作用し、エラーメッセージに"締切を入力して下さい"が追加されるようになっている

参考になったサイト

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0