伟子开心 2016-11-04 12:06:22 4631次浏览 1条评论 6 1 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()

给新手的意见,写得不好多谅解啊,第一次写多多支持啊

觉得很赞
您需要登录后才可以评论。登录 | 立即注册