大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
有个项目正在使用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); }