Agile Web Development with Rails第七章笔记——任务B:验证
2013-05-19 13:04
381 查看
在第六章的基础上,这一章的任务是使应用程序变得更加坚固——以确保数据中发生的错误永远都不会提交给数据库。
迭代B:验证
目标:
1、字段的标题、描述以及图像的URL不是空的
2、价格是一个有效的数字,且不少于0.01
3、标题在所有商品中是唯一的
4、图像的URL看起来是有效的
模型层是放置验证代码的理想位置。
根据以上4点目标,在脚手架生成的模型层文件中做出相应修改。
模型文件位置:
初始文件内容如下:
在该文件中添加验证代码:
validates方法是标准的Rails验证器,它会根据一个或多个属性来验证一个或多个模型字段。
:presence => true控制字段值非空
:numericality => {:greater_than_or_equal_to => 0.01}控制字段值是有效正数并且大于0.01
:uniqueness => true控制该字段不可重复
:format => {:with => %r{\.(gif|jpg|png)$}i}控制字段格式
运行效果:
1、字段的标题、描述以及图像的URL不是空的
2、价格是一个有效的数字,且不少于0.01
3、标题在所有商品中是唯一的
4、图像的URL看起来是有效的
迭代B:验证
目标:
1、字段的标题、描述以及图像的URL不是空的
2、价格是一个有效的数字,且不少于0.01
3、标题在所有商品中是唯一的
4、图像的URL看起来是有效的
模型层是放置验证代码的理想位置。
根据以上4点目标,在脚手架生成的模型层文件中做出相应修改。
模型文件位置:
初始文件内容如下:
在该文件中添加验证代码:
class Product < ActiveRecord::Base attr_accessible :description, :image_url, :price, :title 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
validates方法是标准的Rails验证器,它会根据一个或多个属性来验证一个或多个模型字段。
:presence => true控制字段值非空
:numericality => {:greater_than_or_equal_to => 0.01}控制字段值是有效正数并且大于0.01
:uniqueness => true控制该字段不可重复
:format => {:with => %r{\.(gif|jpg|png)$}i}控制字段格式
运行效果:
1、字段的标题、描述以及图像的URL不是空的
2、价格是一个有效的数字,且不少于0.01
3、标题在所有商品中是唯一的
4、图像的URL看起来是有效的
相关文章推荐
- Agile Web Development with Rails第六章笔记——任务A:创建应用程序
- Agile Web Development with Rails第十一章笔记——任务F:Ajax初体验
- Agile Web Development with Rails第十二章笔记——任务G:付款
- Agile Web Development with Rails第九章笔记——任务D:创建购物车
- Agile Web Development with Rails第十章笔记——任务E:更智能的购物车
- Agile Web Development with Rails第八章笔记——任务C:商品目录显示
- Agile Web Development with Rails 读书笔记 (四)
- Agile Web Development with Rails 读书笔记 (三)
- agile WEB development with rails的笔记
- Agile Web Development with Rails 读书笔记 (一)
- Agile Web Development with Rails 读书笔记 (二)
- Agile Web Development with Rails 翻译(七)
- Agile Web Development with Rails 翻译(八)
- Agile Web Development with Rails 翻译(九)
- 《Agile Web Development with Rails》读书笔记(四)
- 开始读《Agile Web Development with Rails》
- Agile Web Development with Rails 翻译(十)
- Rails新书出版了:Agile Web Development with Ruby on Rails
- 《Agile Web Development with Rails》读书笔记(一)
- Agile Web Development with Rails 翻译(十一)