Здравствуйте. Столкнулся со следующей проблемой. Иногда форма отправляется дважды, соответственно создается 2 записи в базе. Пробовал заполнять форму разными способами при разных условиях, никакой закономерности не могу уловить.
Сама форма:
<?php
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use common\models\City;
/* @var $this yii\web\View */
$this->title = $model->isNewRecord ? 'Создание адреса' : 'Изменение адреса';
?>
<div class="row">
<div class="col-sm-4 col-md-3">
<?= $this->render('/contacts/menu') ?>
</div>
<div class="col-sm-8 col-md-9">
<div class="box box-primary">
<div class="box-header">
<h3><?// Html::encode($this->title) ?></h3>
</div>
<div class="box-body">
<?= \common\widgets\Alert::widget(); ?>
<?php
$form = ActiveForm::begin([
'enableClientValidation' => true,
]
);
?>
<?= $form->field($model, 'addr')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'post_code')->textInput(['maxlength' => true]) ?>
<?= $form->field($model, 'id_city')->dropDownList(City::getForDropdown()); ?>
<?= $form->field($model, 'is_head_office')->checkbox(); ?>
<?= $form->field($model, 'mapAddr',
['template' => '{label}{input}{hint}{map}{error}',])->widget(\kalyabin\maplocation\SelectMapLocationWidget::className(),
[
'attributeLatitude' => 'latitude',
'attributeLongitude' => 'longitude',
'googleMapApiKey' => 'AIzaSyCBHA4KKBAltxjI2LHONR2AhNJekCfx1Vw',
'draggable' => true,
]); ?>
<div class="form-group">
<?= Html::submitButton($model->isNewRecord ? 'Добавить' : 'Изменить', ['class' => 'btn btn-success']) ?>
</div>
<?php ActiveForm::end(); ?>
</div>
</div>
</div>
</div>
Экшн в контроллере:
public function actionCreateAddress()
{
$model = new Address();
if ($model->load(\Yii::$app->request->post()) && $model->save()) {
\Yii::$app->session->setFlash('success', 'Адрес успешно добавлен');
return $this->redirect(['contacts/address']);
}
return $this->render('address/_form', compact('model'));
}
Подскажите, пожалуйста, в чем может быть причина?