【一点经验分享】Yii2-customvalidatornotwork自定义验证无效的解决方法

有个项目正在使用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);
}

分享名称:【一点经验分享】Yii2-customvalidatornotwork自定义验证无效的解决方法
网站URL:http://myzitong.com/article/jjocoe.html