本文概述
- Rails内置的验证方法
- 跳过验证
如果Active Record模型类的验证失败, 则将其视为错误。每个Active Record模型类都维护一个错误集合, 当发生验证错误时, 这些错误集合会向用户显示适当的错误信息。
Rails内置的验证方法
Method | Description |
---|---|
validates_acceptance_of | 用户通过选中复选框来完成此验证, 以接受服务条款协议 |
validates_associated | 验证关联对象本身是否全部有效。与任何类型的协会合作。 |
validates_confirmation_of | 它验证用户是否在第二个输入字段中输入了匹配的信息, 例如密码或电子邮件。 |
validates_each | 针对块验证每个属性。 |
validates_exclusion_of | 验证属性不在特定的可枚举对象中。 |
validates_format_of |
使用正则表达式验证属性的值, 以确保其格式正确。 |
validates_inclusion_of | 验证属性值在特定的可枚举对象中是否可用。 |
validates_length_of | 验证属性的长度是否与指定的长度限制匹配。 |
validates_numericality_of | 验证属性是否为数字。 |
validates_presence_of | 验证该属性是否为空。 |
validates_size_of | 这是validates_length_of的别名 |
validates_uniqueness_of | 验证属性在数据库中是否唯一。 |
- decrement!
- decrement_counter
- increment!
- increment_counter
- toggle!
- touch
- update_all
- update_attribute
【Rails两种验证方法的用法】保存Active Record对象之前, Rails会进行验证。如果产生任何错误, 则不保存对象。
有效吗?触发你的验证, 如果未发现错误, 则返回true, 否则返回false。
例:
class Person <
ApplicationRecord
??validates :name, presence: true
end
?
Person.create(name: "John Cena").valid? # =>
true
Person.create(name: nil).valid? # =>
false
无效的?是有效的反向吗?它触发你的验证, 如果无效则返回true, 否则返回false。
推荐阅读
- 数据库中的Rails视图记录
- Rails开发之测试介绍
- Ruby on Rails AJAX介绍和用法
- Rails将记录保存到数据库中
- Ruby on Rails路由介绍和用法
- Rails布局实例图解
- Ruby on Rails迁移用法详解
- Rails多种过滤器用法实例
- Ruby on Rails CRUD操作图解