目次
①バリデーションとは
②バリデーションを行う理由
③バリデーションの基本的な実装
④様々なバリデーションの例
①バリデーションとは
データを登録する際に、一定の制約をかけること。
以下のようなものがある。
・空データを登録をできないようにする
・文字数の制限を設ける
・空を許可する
・同一データは一つのみ許可する
など
②バリデーションを行う理由
正しいデータだけをデータベースに保存するために行われる。
たとえば、自分のアプリケーションで、すべてのユーザーには必ず電子メールアドレスとメーリングリストアドレスが必要だとする。正しいデータだけをデータベースに保存するのであれば、モデルレベルでバリデーションを実行するのが最適になる。モデルレベルでのバリデーションは、データベースに依存せず、テストもメンテナンスもやりやすくなる。
③バリデーションの基本的な実装
バリデーションを設定するときは、モデルに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