Добавляю форму при помощи Ajax но она не проходит валидацию на клиенте. Там присутствует форма но исходя из выбора пользователя часть формы меняется. Следующим образом отправляется ajax запрос указывается какой выбор пользователь сделал, меняется форма и тем же скриптом в случае получения ответа меняется часть формы собственно вот так записано в js
$('#deliveryForm .radio-tab input').change(function () {
var datas = $(this).val();
$.ajax({
method: "POST",
url: "/cart",
data: 'delivery='+datas,
success: function (data) {
$.pjax.reload({container: "#pjax-form-cart"});
$('#deliveryForm .radio-tabs .tab-pane').removeClass('active');
$('#deliveryForm .radio-tabs .tab-pane.delivery2').addClass('active');
}
})
});
вот так в контролере обрабатываю выбор пользователя
public function actionIndex(){
if(Yii::$app->request->isAjax &&isset($post['delivery']))
$this->userCartChoice($post['delivery']);
$choice= UserCartChoice::find()->one();
...
}
private function userCartChoice($choise){
$userChoise=UserCartChoice::find()->one();
if(!$userChoise)
$userChoise= new UserCartChoice();
$userChoise->choice=$choise;
$userChoise->save();
}
ну и соответственно весь заменяемый блок
<?php Pjax::begin(['id' => 'pjax-form-cart']); ?>
<div class="tab-content">
<div class="tab-pane delivery1 <?= ($userChoice==0)?'active':''?> ">
<?php if($userChoice==0){ echo PickUp::widget(['form'=>$form]); } ?>
</div>
<div class="tab-pane delivery2 <?= ($userChoice==1)?'active':''?>">
<?php if($userChoice==1){ echo DeliveryPiter::widget(['form'=>$form]); } ?>
</div>
</div>
<?php Pjax::end(); ?>
И когда я создаю форму она не валидируется. На клиенте. Если нажимаю кнопку отправить. Ошибки валидации показывается.
Я так понимаю надо инициализировать заново проверку. Вопрос что надо инициализировать