欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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的問題,本以為modal要告一段落可以開始新的話題了,但是實(shí)際問題往往超乎想像,這不modal彈窗提交的表單說是怎么驗(yàn)證的問題又出來了,又出來了!

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

yii2中,ActiveForm默認(rèn)做了客戶端驗(yàn)證,但是表單的提交,卻不是無刷新的。也就是常??吹降谋韱翁峤缓箜撁鏁?huì)刷新。如果想要開啟無刷新的模式,只需要在ActiveForm開始開啟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,
]);

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

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

為了兼容modal,注意我們說的是兼容而不是實(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)文章

  • php gzip壓縮輸出的實(shí)現(xiàn)方法

    php gzip壓縮輸出的實(shí)現(xiàn)方法

    本篇文章介紹了,在php中g(shù)zip壓縮輸出的實(shí)現(xiàn)方法。需要的朋友參考下
    2013-04-04
  • Yii 框架應(yīng)用(Applications)操作實(shí)例詳解

    Yii 框架應(yīng)用(Applications)操作實(shí)例詳解

    這篇文章主要介紹了Yii 框架應(yīng)用(Applications)操作,結(jié)合實(shí)例形式詳細(xì)分析了Yii 框架應(yīng)用(Applications)基本配置、屬性、事件相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2020-05-05
  • DWZ+ThinkPHP開發(fā)時(shí)遇到的問題分析

    DWZ+ThinkPHP開發(fā)時(shí)遇到的問題分析

    這篇文章主要介紹了DWZ+ThinkPHP開發(fā)時(shí)遇到的問題,結(jié)合實(shí)例形式分析了DWZ+ThinkPHP在ajax調(diào)用中出現(xiàn)錯(cuò)誤問題的解決方法,需要的朋友可以參考下
    2016-12-12
  • Yii框架中jquery表單驗(yàn)證插件用法示例

    Yii框架中jquery表單驗(yàn)證插件用法示例

    這篇文章主要介紹了Yii框架中jquery表單驗(yàn)證插件用法,結(jié)合實(shí)例形式分析了Yii框架中使用jquery表單驗(yàn)證插件進(jìn)行手機(jī)、郵箱等輸入信息驗(yàn)證的相關(guān)操作技巧,需要的朋友可以參考下
    2016-10-10
  • dvwa+xampp搭建顯示亂碼的問題及解決方案

    dvwa+xampp搭建顯示亂碼的問題及解決方案

    XAMPP是完全免費(fèi)且易于安裝的Apache發(fā)行版本,本文給大家介紹dvwa+xampp搭建顯示亂碼的問題及解決方案,需要的朋友可以參考下
    2015-08-08
  • Laravel 關(guān)聯(lián)模型-關(guān)聯(lián)新增和關(guān)聯(lián)更新的方法

    Laravel 關(guān)聯(lián)模型-關(guān)聯(lián)新增和關(guān)聯(lián)更新的方法

    今天小編就為大家分享一篇Laravel 關(guān)聯(lián)模型-關(guān)聯(lián)新增和關(guān)聯(lián)更新的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Symfony2框架創(chuàng)建項(xiàng)目與模板設(shè)置實(shí)例詳解

    Symfony2框架創(chuàng)建項(xiàng)目與模板設(shè)置實(shí)例詳解

    這篇文章主要介紹了Symfony2框架創(chuàng)建項(xiàng)目與模板設(shè)置的方法,結(jié)合實(shí)例形式詳細(xì)分析了Symfony2框架的具體步驟與詳細(xì)實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2016-03-03
  • 微信自定義菜單的處理開發(fā)示例

    微信自定義菜單的處理開發(fā)示例

    在微信5.0以前,自定義菜單是作為一種內(nèi)測資格使用的,只有少數(shù)公眾帳號(hào)擁有菜單,因此出現(xiàn)很多企業(yè)為了弄到菜單不惜重金求購?,F(xiàn)如今,一大批帳號(hào)從訂閱號(hào)轉(zhuǎn)為服務(wù)號(hào),很多都是奔著自定義菜單去的。今天我們就來簡單研究下微信自定義菜單的處理。
    2015-04-04
  • thinkPHP5.1框架路由::get、post請(qǐng)求簡單用法示例

    thinkPHP5.1框架路由::get、post請(qǐng)求簡單用法示例

    這篇文章主要介紹了thinkPHP5.1框架路由::get、post請(qǐng)求簡單用法,結(jié)合實(shí)例形式分析了thinkPHP5.1路由get、post請(qǐng)求基本使用方法,需要的朋友可以參考下
    2019-05-05
  • PHP類中的魔術(shù)方法(Magic Method)簡明總結(jié)

    PHP類中的魔術(shù)方法(Magic Method)簡明總結(jié)

    這篇文章主要介紹了PHP類中的魔術(shù)方法(Magic Method)簡明總結(jié),這些方法包括__construct()、__destruct()、__call()、__callStatic()、__get()、__set()、__toString()等,需要的朋友可以參考下
    2014-07-07

最新評(píng)論