【rails】バリデーションについて
バリデーションとはDBにデータを登録する場合にデータの整合性を
チェックする機能のことです。
例えばデータを空で登録するのを防いだり
文字数を制限したりすることができます。
バリデーションは種類がたくさんあるが、今日アプリ制作を行っている最中で使用したものを記載します。
railsのモデルに以下のように記載します。
class tweet < ApplicationRecord validates :content, presence: true #データが空でないこと end
:contentがテーブルのカラムです。カンマを入れて、その後に記載している「presence: true」が今回 本題のバリデーションです。
「presence: true」はデータが空でないことをチェックする
バリデーションです。
:contentカラムを空で登録しようと
すると以下のようなエラー表示になり登録ができません。
Content can't be blank
その他本日学んで使用したバリデーションは以下です。
validates :content, length: { maximum: 140} #文字数が140文字以下でないと登録できない validates :content, length: { minimum: 10} #文字数が10文字以上でないと登録できない validates :content, length: { in: 1..70} #文字数が1文字以上,75文字以上でないと登録できない validates :password, length: {is: 8} #8文字でしか登録できない
ちなみに2種類のバリデーションを加えるなら以下のようにカンマで区切れば設定可能です。
validates :content, length: { maximum:140}, presence: true