バリデーション
Railsではvalid?メソッドを実行するとバリデーションが実行されます!
バリデーションが通ればtrueを返し、引っかかればfalseを返します。
invalid?メソッドは逆の振る舞いをします。
空でないこと
validates :title , persence: true
booleanの場合
validates :island, inclusion: { in: [true , false ] }
unique
validates :user_name , uniqueness: true
含むかどうかを検証する場合
validates :fruit, inclusion : {in: %w(banana apple orange)}
含まないことを検証する場合
validates :country, exclusion: {in: %w(china japan)}
長さ
validates :password, length: {minimum: 1} # 1文字以上
validates :password , length: {maximum: 8} # 8文字以下
validates :password , length: {in: 1..12} #1文字以下
validates :password , length: {is: 8} #8文字のみ
numericality
validates :age, numericality: true # 数字のみ
validates :age, numericality: {only_integer: true} #integer
validates :age, numericality: {greater_than: 20} #指定された値(あたい)よりも大きいか
validates :age, numericality: {less_than: 10} #指定された値よりも小さいか
validates :age, numericality: {equal_to: 10} # 指定された値と等しい(ひとしい)か
validates :age, numericality: {greater_than_or_equal_to: 10} #定された値と等しい、あるいは大きいか
validates :age, numericality: {less_than_or_equeal_to: 10 } #指定された値と等しい、あるいは小さいか
validates :age, numericality: {odd: true} #trueに設定した場合 奇数か
validates :age , numericality: {even: true} #even trueに設定した場合 偶数か
reg
VALID = /\A[a-zA-Z]+\z/
validates :name, format: {with: VALID}