ActiveRecord 验证全解析
1. ActiveRecord 验证概述
在开发中,确保模型对象处于有效状态至关重要。ActiveRecord 的验证 API 允许我们声明式地定义模型对象的有效状态。验证方法会介入 ActiveRecord 模型对象的生命周期,检查对象的某些属性是否设置、值是否在给定范围内,或者是否通过我们指定的其他逻辑检查。
1.1 查找错误
每个 ActiveRecord 模型对象都包含一个错误集合,可以通过 errors 属性访问。当模型对象有效时,错误集合为空。调用 valid? 方法时,会执行以下简化步骤来查找错误:
1. 清空错误集合。
2. 运行验证。
3. 返回模型的错误集合是否为空。
graph LR
A[开始] --> B[清空错误集合]
B --> C[运行验证]
C --> D{错误集合为空?}
D -- 是 --> E[对象有效]
D -- 否 --> F[对象无效]
在某些需要自己编写验证逻辑的方法中,可以使用 add 方法向错误集合中添加项,从而标记对象无效。
2. 简单声明式验证
尽可能使用以下类方法为模型声明式地设置验证。除非另有说明,所有 validates 方法都接受可变数量的属性和选项。
ActiveRecord验证机制详解
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



