技術系ブログ

とにかく小ネタで

Active Record バリデーション

参考:

Active Record バリデーション - Rails ガイド

バリテーションとは

バリデーション (検証: validation)を使うことによって、正しいデータだけをデータベースに保存することができます

よく使うバリデーションヘルパー

①acceptance:フォームが送信されたときにユーザーインターフェイス上のチェックボックスがオンになっているかどうかを検証
validates :terms_of_service, acceptance: true
②format:withオプションで与えられた正規表現と属性の値がマッチするかどうかのテストによる検証

validates :legacy_code, format: { with: /\A[a-zA-Z]+\z/,
                  message: "英文字のみが使えます" }

③length:属性の値の長さを検証

class Person < ApplicationRecord
  validates :name, length: { minimum: 2 } #minimum: 属性はこの値より小さな値を取れません。
  validates :bio, length: { maximum: 500 }#maximum: 属性はこの値より大きな値を取れません。
  validates :password, length: { in: 6..20 }#inまたは:within: 属性の長さは、与えられた区間以内でなければなりません。このオプションの値は範囲でなければなりません。
  validates :registration_number, length: { is: 6 }#is: 属性の長さは与えられた値と等しくなければなりません。
end

④presence:指定された属性が「空でない」ことを確認
validates :name, :login, :email, presence: true
⑤uniqueness:属性の値が一意(unique)であり重複していないことを検証
validates :email, uniqueness: true
現在user側の単体テストを書いているのですが、上記を意識して書かないとといけませんね