class Article < ActiveRecord::Base endこのArticleクラスにvalidatesを実装していきます。
class Article < ActiveRecord::Base #Railsで標準で用意されている検証メソッド #指定されたフィールドが存在し、その内容が空でないことを確認します。 validates_presence_of :title, :image_url, :vender, :category, :message => "が空の状態で保存することは出来ません。" end
class Article < ActiveRecord::Base #Railsで標準で用意されている検証メソッド #指定されたフィールドが存在し、その内容が空でないことを確認します。 validates_presence_of :title, :image_url, :vender, :category, :message => "が空の状態で保存することは出来ません。" #価格が有効な数値かどうかを検証します。 #validate()メソッドを呼び出す。 validates_numericality_of :price, :message => "が有効な数値ではありません。" end
class Article < ActiveRecord::Base #Railsで標準で用意されている検証メソッド #指定されたフィールドが存在し、その内容が空でないことを確認します。 validates_presence_of :title, :image_url, :vender, :category, :message => "が空の状態で保存することは出来ません。" #価格が有効な数値かどうかを検証します。 #validate()メソッドを呼び出す。 validates_numericality_of :price, :message => "が有効な数値ではありません。" #商品の価格が正のFloatであることを確認する。 #価格に値が設定されている場合にだけチェックをするように設定。 protected def validate errors.add(:price, "は0より大きくなければなりません。") unless price.nil? || price > 0.0 end end
#articlesテーブル内の他の行にこれから保存しようとしている名称が #存在していないかどうかを確認。 validates_uniqueness_of :title, :message => "はすでに存在しています。"
#フィールドの値が正規表現に一致するかどうかを比較します。 #URLがhttp:で始まり、.gif,.jpg,.pngのどれかで終わっていることを確認。 validates_format_of :image_url, :with => %r{\.(gif|jpg|png)$}i, :message => "はGIF,JPG,PNG画像のURLでなければなりません。"