sem-soft / yii2-ajax-confirm
带有AJAX请求确认显示的提交按钮小部件
1.0
2018-11-23 12:27 UTC
Requires
- php: >=5.4.0
- ext-ctype: *
- ext-mbstring: *
- lib-pcre: *
- yiisoft/yii2: ~2.0.13
This package is auto-updated.
Last update: 2024-09-24 04:15:08 UTC
README
使用composer安装
composer require sem-soft/yii2-ajax-confirm
或者将此代码添加到composer.json文件的require部分,然后在控制台中运行composer update
"sem-soft/yii2-ajax-confirm": "~1.0"
描述
实现提交按钮小部件的服务器端确认消息逻辑或无消息逻辑。用于在服务器端需要额外的数据验证时,而不仅仅是标准的操作确认。
基本用法
视图中的配置示例
<?php $form = ActiveForm::begin([ 'id' => 'report_import_form', 'options' => [ 'enctype' => 'multipart/form-data' ], 'enableAjaxValidation' => false, ]); ?> ... <?= $form->errorSummary(($model), [ 'class' => 'alert alert-error' ]); ?> ... <?= SubmitButtonWidget::widget([ 'form' => $form, 'confirmRoute' => ['exists'], 'content' => 'Загрузить', 'options' => [ 'class' => 'btn btn-success btn-block', ] ]);?> <?php ActiveForm::end(); ?>
检查操作的示例
... public function actionExists() { Yii::$app->response->format = Response::FORMAT_JSON; ... $form = new FinanceReportImportForm(); ... if ($existReport = FinanceReport::findOne([ 'field1' => $form->field1, 'field2' => $form->field2 ])) { $question = "Отчет по {$existReport->field1} кварталу {$existReport->field2} отчетного года уже существует и будет перезаписан. Продолжить импорт?"; } else { $question = "Выполнить импорт?"; } ... return [ 'can' => $existReport ? false : true, 'question' => $question ]; } ...