亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

yii2 modal彈窗之ActiveForm ajax表單異步驗(yàn)證

 更新時(shí)間:2016年06月13日 09:15:06   作者:白狼  
這篇文章主要介紹了yii2 modal彈窗之ActiveForm ajax表單驗(yàn)證的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下

前面我們講述了yii2中如何使用modal以及yii2 gridview列表內(nèi)更新操作如何使用modal的問(wèn)題,本以為modal要告一段落可以開(kāi)始新的話題了,但是實(shí)際問(wèn)題往往超乎想像,這不modal彈窗提交的表單說(shuō)是怎么驗(yàn)證的問(wèn)題又出來(lái)了,又出來(lái)了!

首先撇開(kāi)modal不談,我們就yii2 ActiveForm如何以Ajax的方式提交表單做一個(gè)簡(jiǎn)單的說(shuō)明,這也是我們今天主題的重點(diǎn),modal確實(shí)沒(méi)啥好說(shuō)了。后面若是有我再把話改回來(lái)。

yii2中,ActiveForm默認(rèn)做了客戶端驗(yàn)證,但是表單的提交,卻不是無(wú)刷新的。也就是常??吹降谋韱翁峤缓箜?yè)面會(huì)刷新。如果想要開(kāi)啟無(wú)刷新的模式,只需要在ActiveForm開(kāi)始開(kāi)啟enableAjaxValidation即可,像下面這樣

<?php $form = ActiveForm::begin([
'id' => 'form-id',
'enableAjaxValidation' => true,
]
); ?>

注意哦,id和enableAjaxValidation一個(gè)都不能少。

接著看服務(wù)端的實(shí)現(xiàn)

if ($model->load(Yii::$app->request->post())) {
Yii::$app->response->format = yii\web\Response::FORMAT_JSON;
if ($errors = \yii\widgets\ActiveForm::validate($model)) {
return $errors;
} else {
if($model->save(false)) {
return $this->redirect(['index']); 
}
}
}
return $this->render('create', [
'model' => $model,
]);

如此一來(lái)就簡(jiǎn)單的實(shí)現(xiàn)了yii2異步無(wú)刷新提交表單了!

其實(shí)下面說(shuō)與不說(shuō)已經(jīng)不重要了,主要是寫(xiě)給一些懶人參考吧。聰明的人看了標(biāo)題就應(yīng)該明白了如何解決modal通過(guò)ActiveForm提交表單的問(wèn)題。

為了兼容modal,注意我們說(shuō)的是兼容而不是實(shí)現(xiàn),我們對(duì)程序稍稍做了些改動(dòng),僅做參考。

if ($model->load(Yii::$app->request->post())) {
if ($model->save()) { 
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return ['success' => true];
}
return $this->redirect(['index']);
} else {
if (Yii::$app->request->isAjax) {
Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
return \yii\widgets\ActiveForm::validate($model);
}
}
}
if (Yii::$app->request->isAjax) {
return $this->renderAjax('create', [
'model' => $model,
]);
} else {
return $this->render('create', [
'model' => $model,
]);
}

以上所述是小編給大家介紹的yii2 modal彈窗之ActiveForm ajax表單驗(yàn)證的相關(guān)知識(shí),希望對(duì)大家有所幫助,如果大家想了解更多內(nèi)容敬請(qǐng)關(guān)注腳本之家網(wǎng)站!

相關(guān)文章

最新評(píng)論