この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
こんにちは
zenpouです。
先週ずっとインフルエンザでダウンしてました。
今日はvaildationについて書いてみます。
railsにある強力なvalidation機能で、どんな制限ができるか一覧化してみました。
validates_acceptance_of :checked, :accept => ‘1’
# 規約同意の検証
validates_presence_of :name
# 値がある事を検証
validates_format_of :email, :with => /[^@]+@[^@\.]+\.[^@\.]+/
# 正規表現での検証
validates_associated :frend
# 関連するオブジェクトの検証結果が正しいか検証
validates_confirmation_of :password
# 確認入力のチェック用
# _confirmation というアクセサが自動生成される。
validates_each :password { |record, attr, value| //////////////code//////////// }
# コード部分を使って検証条件をかける。
validates_inclusion_of :type , :in=> %w(男性用 女性用)
# 指定された値の範囲内であることを確認する。
validates_exclusion_of :password :in => /^\d+$/, :message => ‘数字のみは危険です’
# 指定された値の範囲外であることを確認する。
validates_length_of :name, :maximum=> 30, :minimum => 3
# 文字数の検証
validates_numericality_of
# カラムが数値か検証
validates_uniqueness_of
#カラムがユニークか検証
こんな感じです。
vaildationを使うと、dbに保存されるタイミングでチェックが行われる上、
エラーメッセージも管理できるので、webアプリケーションを作成するのに
非常に便利です。