放在if里面判断,成功代表的是有值,还是只是代表有post值,还是代表有post值,并通过了验证
成功代表的是有值。而你的值是request->post()获取的,所以代表的是有post值。
load()的作用是批量填充模型。因为你会在load前面发现 $model = new Model。此时的 $model 是 new 出来的,是新的,只是个骨头架子,纸老虎,所以它迫切需要一些值来填充自己,否则它除了能为前端 ActiveForm 提供一些JS验证外,屁用没有。而此时,load() 应运而生。
而解决温饱飞黄腾达之后,Yii 会审视 $model。这小子做的这些事符不符合我给他定的规矩。于是Yii 根据 $model 调用了你接下来看到的 validate(),然后不合规矩就干掉他,即使他是苍蝇或者老虎。所以验证部分 load() 不会去做,而是交给了 validate()。就像贪官能发现自己是贪官吗?
post提交的数据,request发送。
问题能否再详细一些?
获取post提交的值 并调用setAttributes()给model里的属性赋值$model->load(Yii::$app->request->post())
成功表示验证通过
用Yii::$app->request->post()数据填充$model