Php 更新用户信息yii2时需要Ajax验证
所以我谈到了Ajax验证部分。首先,我想说,我读了类似问题的答案,但这对我没有帮助。 在注册表上验证工作正常(当我尝试使用现有名称注册用户时,会显示错误消息),但当我在用户配置文件中并尝试使用现有名称更新其名称时,不会发生任何事情(不会显示错误) My model UpdateForm.php规则:Php 更新用户信息yii2时需要Ajax验证,php,ajax,yii2,Php,Ajax,Yii2,所以我谈到了Ajax验证部分。首先,我想说,我读了类似问题的答案,但这对我没有帮助。 在注册表上验证工作正常(当我尝试使用现有名称注册用户时,会显示错误消息),但当我在用户配置文件中并尝试使用现有名称更新其名称时,不会发生任何事情(不会显示错误) My model UpdateForm.php规则: public function rules() { return [ [['email', 'password', 'username'], 'req
public function rules()
{
return [
[['email', 'password', 'username'], 'required'],
[['email', 'password', 'username'], 'string', 'max' => 50],
[['image'], 'string', 'max' => 255],
['email', 'email'],
[[ 'email', 'username'], 'unique'],
];
}
我的UserController操作:
public function actionUpdate()
{
$id = \Yii::$app->user->identity->id;
$model = $this->findModel($id);
if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($model);
}
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['view', 'id' => $model->id]);
} else {
return $this->render('update', [
'model' => $model,
]);
}
}
谢谢你的建议 在您的机器中配置yii_logger db(您可以找到Yii2 docs) 然后跑
SELECT FROM_UNIXTIME(log_time, '%Y-%m-%d') log_date, y.* FROM yii_logger y where level = 1 order by log_time desc limit 20;
如果您的代码在某处中断,您可能会看到错误回溯。在您的计算机中配置yii_logger db(您可以找到Yii2 docs) 然后跑
SELECT FROM_UNIXTIME(log_time, '%Y-%m-%d') log_date, y.* FROM yii_logger y where level = 1 order by log_time desc limit 20;
如果您的代码在某处中断,您可能会看到错误回溯。您使用相同的模型和表单创建和更新谢谢!我看了一下我的actionRegister,现在明白了:)您使用相同的模型和表单来创建和更新OK you!我看了一下我的actionRegister,现在明白了:)