search
LoginSignup
2

More than 1 year has passed since last update.

posted at

Railsのvalidateを自作する

はじめに

前回の続きで「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

参考文献

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
What you can do with signing up
2