$oModel->load()的时候会验证 rules 吗? [ 2.0 版本 ]
$oModel->load()
的时候会验证 rules 吗?还是说只有加上这句 $oModel->validate()
才会走验证规则呀?
最佳答案
-
load()
顾名思义,加载。为调用的模型加载从用户那传来的数据用以填充该模型。
填充的过程是不会使用rules()中声明的验证器去验证的。但是他会把没有在rules()中声明验证器的属性排除在填充之外。
举个例子:
假设你拥有 public $haha 属性。
但是你没有在rules中为$haha声明一个验证器。那么你在调用load()的时候则不会去为$haha填充数据。
即使这个数据是符合load()数据源的格式的。而validate()的责任才是真正去检查每一个被填充了值的属性是否合法。如果不合法,则会往errors属性中填充不合法的信息并返回false。
共 3 条回复@YiiSoEasy 其实俺懂得也不多,主要是人长得帅。
hebo5485 觉得很赞
其他 1 个回答
YiiSoEasy 中国
注册时间:2014-11-25
最后登录:2024-10-19
在线时长:189小时7分
最后登录:2024-10-19
在线时长:189小时7分
- 粉丝210
- 金钱10947
- 威望120
- 积分14037