LoginSignup
0
2

More than 3 years have passed since last update.

Railsのvalidateを自作する

Posted at

はじめに

前回の続きで「Ruby on Rails 5 速習実践ガイド」のアウトプットを行うための投稿です。
今回は、モデルのバリデートを自作する方法を書いていきます!例として、Taskモデルのnameカラムに、ハイフンが含まれないようなvalidateを作成します。

目次

  1. 自作validateのメソッドを作成
  2. 自作validateを呼び出す
  3. エラーメッセージを表示する
  4. 参考文献

自作validateのメソッドを作成

task.rb
private
def validate_not_including_hyphen
  errors.add(:name, 'にハイフンを入れないでください!') if name&.include?('-')

このコードでは、nameがnilではなくハイフンを含んでいるときに、errorを追加する記述です。

自作validateを呼び出す

task.rb
validate :validate_not_including_hyphen

また、コールバック(before_createなど)で呼び出すこともできます。

エラーメッセージを表示する

- @task.errors.full_message.each do |message|
      li = message

参考文献

0
2
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
0
2