Railsの入力値検証(validates_なんちゃら系)まとめ

モデル(product.rb)に標準検証メソッドを追加

●入力値が空で無いかの判定
validates_presence_of :title, :description, :image_url

:title, :description, :image_urlカラムが空だとNG判定

●数値入力かの判定
validates_numericality_of :price

:priceカラムが空だとNG判定

●重複チェック
validates_uniqueness_of :title

:titleカラム内容が重複している場合はNG

●入力文字列のフォーマット判定
validates_format_of :image_url, :with => %r{\.(gif|jpg|jpeg|png)$}i, :message => “はGIF、JPEG、PNG画像のURLでなければなりません”

:image_urlカラムの入力文字列に、.gif,.jpg,.jpeg,.pngが入ってないとNG

●正の数判定
protected
def validate
errors.add(:price, “は最低でも0.01以上でなければなりません”) if price.nil? || price < 0.01
end

price列への入力数値が、空でないかもしくは0.01以上かの判定


Tags:

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes