Heim >Datenbank >MySQL-Tutorial >Agile Web Development with Rails第七章笔记任务B:验证

Agile Web Development with Rails第七章笔记任务B:验证

WBOY
WBOYOriginal
2016-06-07 15:05:09945Durchsuche

在第六章的基础上,这一章的 任务 是使应用程序变得更加坚固——以确保数据中发生的错误永远都不会提交给数据库。 迭代B: 验证 目标: 1、字段的标题、描述以及图像的URL不是空的 2、价是一个有效的数字,且不少于0.01 3、标题在所有商品中是唯一的 4、图像

在第六章的基础上,这一章的任务是使应用程序变得更加坚固——以确保数据中发生的错误永远都不会提交给数据库。

迭代B:验证

目标:

1、字段的标题、描述以及图像的URL不是空的

2、价格是一个有效的数字,且不少于0.01

3、标题在所有商品中是唯一的

4、图像的URL看起来是有效的

模型层是放置验证代码的理想位置。

根据以上4点目标,在脚手架生成的模型层文件中做出相应修改。

模型文件位置:


初始文件内容如下:


在该文件中添加验证代码:

class Product  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看起来是有效的



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn