关于2.0自定义表单验证不成功的解决方法 [ 2.0 版本 ]
在我使用YII2.0的时候,登录是自己写的表单提交数据,模型验证不成功的解决办法
<input type="text" name="username" id="name" value="" placeholder="请输入管理登录用户名" />
我的表单都是这样的,如果用POST提交必须加一句
<input type="hidden" value="<?php echo Yii::$app->getRequest()->getCsrfToken(); ?>" name="_csrf" />
是生成CSRF字符串的,用POST提交必须有这个值,如果不想csrf验证就将方法一的true修改为false,这样YII就不会做post表单验证处理。
'components'=>array(
'request'=>array(
// Enable Yii Validate CSRF Token
'enableCsrfValidation' => true,
),
)
下面说一下关于控制器接受怎么写
$model = new Userlogin();
if ($model->load(['FormData' => Yii::$app->request->post()], 'FormData') && $model->validate()) {
//这里写成功
}else{
//失败
}
解释一下,$model->load(['FormData' => Yii::$app->request->post()], 'FormData') 这个必须这么写
如果是YII2.0生成的就不用这样写
用框架自带的生成这样写就OK
$model->load(Yii::$app->request->post()
给新手的意见,写得不好多谅解啊,第一次写多多支持啊
伟子开心
注册时间:2016-10-31
最后登录:2021-05-14
在线时长:21小时9分
最后登录:2021-05-14
在线时长:21小时9分
- 粉丝6
- 金钱665
- 威望20
- 积分1075
共 1 条评论
可以讲讲原理
这个等我空了去跟踪下源代码看看什么原因,发在下一个分享里面