rails数据交互(2)
来源:互联网 发布:ubuntu中文社区 编辑:程序博客网 时间:2024/06/05 03:48
补充上一章的内容:当代码改变,要重新进入console
模型的数据验证: 对不符合要求的对象无效,不予创建
- 存在性验证:
在User实体类中添加如下代码,进行存在性验证,关键函数(validates),关键字(presence: true/false):
validates :userName, presence: true
在console中:
irb(main):001:0> @user = User.new => #<User id: nil, userName: nil, email: nil, created_at: nil, updated_at: nil> irb(main):002:0> @user.save (0.1ms) begin transaction (0.1ms) rollback transaction=> false irb(main):003:0> @user.errors.full_messages=> ["Username can't be blank"]
- 长度验证:关键函数(validates),关键字(length:{maximum: 20})
validates :userName, presence: true , length: {maximum: 20}
加入不满足条件,会报错:
irb(main):004:0> @user.errors.full_messages=> ["Username is too long (maximum is 20 characters)"]
- 格式验证: 关键字(format: {with: 正则表达式})
EMAIL = /\A[\w+\-.]+\.[a-z]+\z/ivalidates :email, presence: true, format: {with: EMAIL}
ruby的正则表达式有点迷……需要再学
然后加入不满足条件的,报错如下:
irb(main):004:0> @user.errors.full_messages=> ["Email is invalid"]
- 唯一性验证:关键字(uniqueness: {case_sensitive: false})
EMAIL = /\A[\w+\-.]+\.[a-z]+\z/i validates :userName, presence: true , length: {maximum: 20}, uniqueness: {case_sensitive: false} validates :email, presence: true, format: {with: EMAIL}, uniqueness: {case_sensitive: false}
但是这种唯一性验证,仅仅是初级手段,存在些许问题,需要在数据库中进行唯一性设置,以后再说,但是在初级阶段来说,够用了。
0 0
- rails数据交互(2)
- rails数据交互(1)
- rails数据交互(3)
- rails数据交互(4)
- ExtJS 与 Rails 数据交互 小记
- jsp数据交互2
- JSP 数据交互(2)
- 通过MongoMapper让程序在Rails 3.2上与MongoDB数据交互
- 探索Fragment(2)---数据交互
- JSP数据交互(2)
- 数据交互
- 数据交互
- 数据交互
- 数据交互
- 数据交互
- rails 数据验证
- Ruby.on.Rails.Web开发之旅-2-与ruby对象交互
- rails 数据验证(rails guides学习笔记)
- linux部署tomcat以及jdk的相关小结
- 《Scala相关文章索引(1)》
- React Native布局详细指南
- 剑指Offer系列-面试题25:二叉树中和为某一值的路径
- W3Techs: 全球网站技术调查报告
- rails数据交互(2)
- C语言小项目---注释转换
- MSP430
- 杭电 2000 ASCII码排序
- 阿里云服务器搭建windows+xampp(wordpress建站)
- 记一次web端的百度地图开发
- tensorflow index问题-1
- elasticsearch2.3.3以及其插件离线安装
- 前端插件大全