Я создаю пошаговую форму в yii2, используя angularjs.У меня есть пользователь ng-if, чтобы скрыть и показать разделы формы.Но когда я перехожу с первого на второй шаг, активная проверка формы yii2 перестает работать, даже проверка передней стороны также не работает
код формы:
<div class="new-booking-tab" ng-app="myApp" ng-controller="myCtrl" ng-cloak>
<?php
$form = ActiveForm::begin([
'id' => 'booking-form',
'action' => 'ajax-validation',
'enableAjaxValidation' => true,
'enableClientValidation' => true
]);
?>
<div id="home" class="tab-pane fade in active" ng-if="booking.step == 1">
<?=
$form->field($model, 'first_field')->testInput([
'ng-model' => 'booking.first_field'
])
?>
<?=
$form->field($model, 'second_field')->testInput([
'ng-model' => 'booking.second_field'
])
?>
<?= Html::button(Yii::t('app', 'Next'), ['class' => 'btn btn-success', 'ng-click' => 'stepOneSubmit()']) ?>
</div>
<div class="tab-pane fade in active" ng-if="booking.step == 3">
<?=
$form->field($model, 'third_field')->testInput([
'ng-model' => 'booking.third_field'
])
?>
<?=
$form->field($model, 'fourth_field')->testInput([
'ng-model' => 'booking.fourth_field'
])
?>
<?= Html::button(Yii::t('app', 'Submit'), ['class' => 'btn btn-success', 'ng-click' => 'stepTwoSubmit()']) ?>
</div>
<?php ActiveForm::end() ?>
</div>
Вот код углового контроллера:
var app = angular.module('myApp', []);
app.controller('myCtrl', function(\$scope) {
var scope = \$scope;
scope.booking = {
step: 1,
first_field: "",
second_field: "",
third_field: "",
fourth_field: ''
};
scope.stepOneSubmit = function() {
booking.step = 2;
};
});
Интерфейс Yii2 и бэкэнд обе проверки работают на шаге 1, но не работают на шаге 2.
Если я установил шаг по умолчанию = 2 и перезагрузил страницу, то он работает на шаге 2 и останавливаетсяя работаю над шагом 1. Я знаю, что проверки yii2 написаны в jquery, но я не могу понять, почему они перестают работать.
Заранее спасибо за помощь и предложения.