0
0

More than 1 year has passed since last update.

一意性のバリデーションをかける

Posted at

属性の値を一意にバリデーションをかける

class Holiday < ApplicationRecord
  validates :name, uniqueness: { scope: :year,
    message: "発生は年に1度である必要があります" }
end

出典

これを使ってみる

case_sensitiveオプション

一意性制約で大文字小文字を区別するか、またはデータベースのデフォルトの照合順序(collation)を尊重するかどうかを定義できます。このオプションはデフォルトで、データベースのデフォルト照合順序を尊重します。

出典

これにもメッセージオプションをつける

validates :name, {presence: true,
                    length: { in: 1..10, message: "ユーザー名を1文字以上から10文字以下で入力してください。"},
                    uniqueness: {message: "既に同じユーザー名があります。"}}

表示された。

can't be blank
既に同じユーザー名があります。
can't be blank

気づき

他のエラーメッセージが表示されているようだ。
これはまた対処することになるだろう。
これから頑張ろう。

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