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: Ruby on Rails