【一点经验分享】Yii2
更新:HHH   时间:2023-1-7


有个项目正在使用Yii2开发,因为是第一次使用2代Yii,也算是不停的摸索。

昨天就遇到一个问题,谷歌也帮不上忙,就是自己在model里写的自定义validator不生效。

原本以为只是自定义无效,终于在使用unique这个yii原生validator时发现,问题的答案就是使用ajax validation。

为什么自定义validator和原生unique都无效呢?因为这些代码是保存在服务器上的,不使用ajax怎样能获取验证结果呢?

yii2中的controller也必须

use yii\web\Response;
use yii\widgets\ActiveForm;


至于action里则应该使用如下语句,来自于yii2官方doc

if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post()))
{
            Yii::$app->response->format = Response::FORMAT_JSON;
            return ActiveForm::validate($model);
}


返回web开发教程...