LoginSignup
1
2

【Rails】You need to supply at least one validation エラーが発生したら

Last updated at Posted at 2024-07-03

概要

Rails アプリでフォームデータを送信するとき、以下のようなエラーが発生しました。

You need to supply at least one validation

原因

このエラーは以下のように validates メソッドにバリデーションの内容が指定されないと発生します。

class Profile < ApplicationRecord
  validates :user_id
end

対処法

このエラーを解決するためには validates メソッドに適切なバリデーションを指定します。例えば user_id が一意であることを検証するために uniqueness: true オプションを指定できます。以下のようにすると、エラーは解消されます。

class Profile < ApplicationRecord
  validates :user_id, uniqueness: true
end

まとめ

validates メソッドを使用する際は、バリデーションの内容を必ず指定します。指定しない場合 You need to supply at least one validation エラーが発生します。以下は、よく使用されるバリデーションオプションです。

  • presence: true : 存在を確認します。
  • uniqueness: true : 一意性を確認します。
  • length: { minimum: 6 } : 長さの最小値を確認します。
  • format: { with: /\A[a-zA-Z]+\z/ } : 特定のフォーマットを確認します。
  • numericality: true : 数値であることを確認します。

また validate メソッドはカスタムメソッドに対して使用されます。
カスタムバリデーションを定義する場合に利用します。

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