LoginSignup
1
2

More than 3 years have passed since last update.

バリデーションについて

Last updated at Posted at 2021-01-26

目次

①バリデーションとは
②バリデーションを行う理由
③バリデーションの基本的な実装
④様々なバリデーションの例

①バリデーションとは

データを登録する際に、一定の制約をかけること。

以下のようなものがある。
・空データを登録をできないようにする
・文字数の制限を設ける
・空を許可する
・同一データは一つのみ許可する
など

②バリデーションを行う理由

正しいデータだけをデータベースに保存するために行われる。
たとえば、自分のアプリケーションで、すべてのユーザーには必ず電子メールアドレスとメーリングリストアドレスが必要だとする。正しいデータだけをデータベースに保存するのであれば、モデルレベルでバリデーションを実行するのが最適になる。モデルレベルでのバリデーションは、データベースに依存せず、テストもメンテナンスもやりやすくなる。

③バリデーションの基本的な実装

バリデーションを設定するときは、モデルにvalidatesメソッドを使用して記述する。


validates :カラム名, バリデーションの種類
#書き方

④様々なバリデーションの例

◯空データを登録できないようにする

class Human < ApplicationRecord
 validates :name, presence:true
end

◯文字制限を設ける

class Human < ApplicationRecord
 validates :name, presence:true,length: {maximum:30}
  #名前の長さの上限を30文字

 validates :name, presence:true,length: {minimum:2}
  #名前の長さの下限を2文字

  validates :name, presence:true,length: {in:2..30}
  #名前の範囲を2-30文字

 validates :name, presence:true,length: {is:5}
  #名前の範囲を5文字に指定

end

◯空を許可する

class Human < ApplicationRecord
 validates :age, allow_blank: true
end

◯同じデータは一つのみ許可する

class Human < ApplicationRecord
 validates :email, presence:true,uniqueness: true
end
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