validationカンペ
validation途中までだったけど、今回の勉強会用に用意したカンペ(スペル間違いがおおいので)を
以下に張っておきます。
# :on => 検証のタイミングのオプション(どのバリデーションにも使える)
# :save 常にチェック
# :create 作成時のみ検証
# :update 更新時のみ検証
# validates_acceptance_of :checked, :accept => '1'
# :accept この値であれば許可する(省略時は'1')
# 同意の検証
# validates_presence_of :name
# 値の存在検証
# validates_format_of :email, :with => /[^@]+@[^@\.]+\.[^@\.]+/
# 正規表現での検証
# validates_associated :frend
# 関連するオブジェクトの検証結果が正しいか検証
# class User < ActiveRecord::Base
# has_one :account
# validates_associated :account
# end
#
# class Account < ActiveRecord::Base
# belongs_to :user
# validates_presence_of :login
# end
#
# user = User.create
# user.create_account(:login => 'guest')
# user.account.valid? #=>true
# user.valid? #=>true
#validates_confirmation_of :password
# 確認入力のチェック用
# _confirmation というアクセサが自動生成される。
# password = 'aaa'
# password_confirmation = 'aaa'
#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 -> 最大、最小
# :is , :in , :within -> 等しい、範囲内、範囲外
# :too_short , :too_long -> message
# 文字数の検証
# validates_length_of :name, :minimum => 10, :message => 'が短すぎます'
# validates_length_of :name, :maximum => 20, :message => 'がなが過ぎます', :on => :create
#validates_numericality_of
# :allow_nil nilを許可するか
# :only_integer 整数のみ
# カラムが数値か検証
#validates_uniqueness_of
# :scope => 範囲ID
# :case_sensitive => 大文字小文字を区別。デフォルトtrue
# カラムがユニークか検証
#validation
# 全部かけるおー
# def validate
# self.errors.add 'aaa'
# false
# end