二、使用rails3.0自带的数据检查功能检查输入数据
接着上面的文章、继续、打开app/models/product.rb文件
1 class Product < ActiveRecord::Base
2 end
在这个文件里可以加入些语句进行输入数据的约束、首先加入
validates :title, :description, :image_url, :presence => true
这句是打开各个字段的约束为非空、这么讲吧、就是把title、description、image_url、这几个字段检查是否为非空、
再来、
validates :price, :numericality => {:greater_than_or_equal_to => 0.01}
这句就是要求price的值大于或等于0.01、
再来
validates :title, :uniqueness => true
这句是验证title字段不能重复、
1 validates :image_url, :format => {
2 :with => %r{\.(gif|jpg|png)$}i,
3 :message => 'must be a URL for GIF, JPG or PNG image.'
4 }
最后这个是约束image_url的、通过一段正则表达式来处理、要求格式必须为gif/jpg/png、判断准则便是最后一个小数点必须是这些扩展名、
OK、大功告成、所以完整的代码应该是这样的
class Product < ActiveRecord::Base validates :title, :description, :image_url, :presence => true validates :price, :numericality => {:greater_than_or_equal_to => 0.01} validates :title, :uniqueness => true validates :image_url, :format => { :with => %r{\.(gif|jpg|png)$}i, :message => 'must be a URL for GIF, JPG or PNG image.' } end
迩再试试打开http://localhost:3000/products页面直接按提交?哈哈