Rails 验证2024 年 12 月 18 日 | 2 分钟阅读 Rails 验证为每个 Active Record 模型类定义有效状态。它们用于确保只有有效的详细信息输入到您的数据库中。Rails 使您可以轻松地将验证添加到您的模型类,并允许您创建自己的验证方法。 使用内置的验证 DSL,您可以执行多种验证。 当 Active Record 模型类验证失败时,它被认为是一个错误。每个 Active Record 模型类维护一个错误集合,当发生验证错误时,该集合向用户显示适当的错误信息。 Rails 内置的验证方法方法 | 描述 |
---|
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 | 验证属性在数据库中是否唯一。 |
跳过验证以下 Rails 方法跳过验证,并将对象保存到数据库,而不考虑其有效性。 应该谨慎使用它们。 - decrement!
- decrement_counter
- increment!
- increment_counter
- toggle!
- touch
- update_all
- update_attribute
valid? and invalid?在保存 Active Record 对象之前,Rails 会进行验证。 如果产生任何错误,则不会保存对象。 valid? 触发您的验证,如果没有发现错误则返回 true,否则返回 false。 示例 invalid? 只是 valid? 的反面。 它触发您的验证,如果无效则返回 true,否则返回 false。
|