接着上面的文章、继续、打开app/models/product.rb文件

1 class Product < ActiveRecord::Base2 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::Basevalidates :title, :description, :image_url, :presence => truevalidates :price, :numericality => {:greater_than_or_equal_to => 0.01}validates :title, :uniqueness => truevalidates :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页面直接按提交?哈哈

二、使用rails3.0自带的数据检查功能检查输入数据相关推荐

  1. EDEN-MACE 1.4.0 更新,增加数据清理功能

    EDEN-MACE 是一套灵活的管理佣金的分销管理系统,它涵盖并且总结了目前流行的分销模式,让分销更加简单. 为了能够让用户更加方便的使用,此次新增数据清理功能,即你可以随意的测试数据, 只要点一下数 ...

  2. 最新虚拟机SAP ECC6.0 EHP7带示例数据IDES版+BW740

    学习SAP,需要虚拟机,请联系 版本:ECC6.0 EHP7.虚拟机操作系统:windows server 2008 64bit..数据库:SQL2008 R2.系统已经做过编译,运行的速度比较快.系 ...

  3. 无规则,指定字符的数据拆分功能

    如何将下面的数据: 拆分前 拆分为: 拆分后 Excel自带的数据分列功能无法实现,网红快捷键Ctrl+E也无法实现. 我们可以用<超级处理器>的数据分裂功能来处理,操作步骤: 打开超级处 ...

  4. 基于CUBEMX和STM32C8T6的同轴麦轮小车制作(二)——HAL库接受jy61p陀螺仪数据,并解决数据溢出卡死问题。

    基于CUBEMX和STM32C8T6的同轴麦轮小车制作(二)--HAL库接受jy61p陀螺仪数据,并解决数据溢出卡死问题 本文利用STM32C8T6中的串口1于JY61P实时通信,并用串口2将其角度打 ...

  5. 实现扫描二维码和生成带logo的二维码

    欢迎来到风的博客 今天讲的是如何引用google的zxing库实现扫描二维码和生成带logo的二维码,源码库可以从github上下载[https://github.com/zxing/zxing];在 ...

  6. 从0到1构建数据科学竞赛知识体系,有夕,鱼佬,茂霖等竞赛大咖将特邀分享...

    从0到1构建数据科学竞赛知识体系 这是怎样的数据竞赛知识体系 为了帮助更多竞赛选手入门进阶比赛,通过数据竞赛提升理论实践能力和团队协作能力.DataFountain 和 Datawhale 联合邀请了 ...

  7. Structured Streaming从Kafka 0.8中读取数据的问题

    众所周知,Structured Streaming默认支持Kafka 0.10,没有提供针对Kafka 0.8的Connector,但这对高手来说不是事儿,于是有个Hortonworks的邵大牛(前段 ...

  8. wincc报表日报表实例_工作系统二次开发二Python加工原膜切割日报表数据实例

    #工作系统二次开发二Python加工原膜切割日报表数据实例 #当查询一个或多个工作令后在表格展示数据前按要求对数据进行二次处理,处理要求看如下 #1.加工单号和母卷物料编号相同则把除第一行外的领料有关 ...

  9. UDT源码剖析(二):UDT自带例程recvfile注释

    这几天学习了UDT自带的例子,结合源码进行了测试如下: #ifndef WIN32 #include <arpa/inet.h>    #include <netdb.h> # ...

最新文章

  1. 有了这几个神器,瞬间逼格就上去了
  2. 机器学习并不“万能”
  3. 科学家发现第三种磁性:或是量子计算又一突破
  4. 大家眼中的桌面技术支持是什么样的?
  5. sweetalert使用随笔
  6. 单片机蜂鸣器编程音乐_基于单片机的智能鱼缸温控系统设计
  7. 完整的可按年份和月份查询数据并显示
  8. WordPress微信小程序社区论坛源码
  9. 案例 月工作列表 c# 1614099857
  10. makefile教程链接
  11. 马尔科夫随机过程的理解
  12. Redis学习笔记(十)——过期时间、访问限制与缓存
  13. 360浏览器Linux版内核,360浏览器推出Linux版下载,主要特性解说
  14. 73个GitHub高级搜索技巧
  15. 抽象工厂模式---游戏等级
  16. 详解DNS(理论篇)
  17. C1实训-Java薪资转换(适合初学者)
  18. shell命令执行完的退出状态详解+if语句的定义方法
  19. PDF迅捷编辑软件编辑PDF文件简单吗
  20. 智慧云智能教育考试平台展示

热门文章

  1. 黑客演示通过空中电视信号DVB-T攻击智能电视机
  2. Python学习笔记(七)函数的使用
  3. 利用https实现站点访问
  4. 【转】Android使用嵌入式关系型SQLite数据库存储数据【学习记录】
  5. WPF新手实践7:MVVM Light Toolkit(七、Messenger)
  6. 用perl 实现 svn 差异备份
  7. 微信系小程序 StorageSync
  8. STC89C52单片机 独立键盘
  9. Altair HW FEKO+WinProp 2020中文版
  10. python各种类型日期转换大全