$oModel->load()
的时候会验证 rules 吗?还是说只有加上这句 $oModel->validate()
才会走验证规则呀?
load()
顾名思义,加载。为调用的模型加载从用户那传来的数据用以填充该模型。
填充的过程是不会使用rules()中声明的验证器去验证的。但是他会把没有在rules()中声明验证器的属性排除在填充之外。
举个例子:
假设你拥有 public $haha 属性。
但是你没有在rules中为$haha声明一个验证器。那么你在调用load()的时候则不会去为$haha填充数据。
即使这个数据是符合load()数据源的格式的。
而validate()的责任才是真正去检查每一个被填充了值的属性是否合法。如果不合法,则会往errors属性中填充不合法的信息并返回false。
逼都让 @飘逸 装完了 我看你们装逼就行了