У меня есть форма, где в несколько этапов проходит заказ товаров типа wizard form...
1) Я ее могу реализовать в одном view через tab-pane, но как валидировать формочки от перехода одного таба к другому... Или вообще другое решение есть?
2) Мне посоветовали сделать по типу "actionCreate", но после удачного сохранения сделать редирект на следующий шаг заполнения анкеты, но тогда будут лишние 2-3 таблицы и модели... как рабочий пример ниже:
public function actionShipping($id)
{
$model = new OrderDeliveryMethod();
$model->order_id = $id;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['payment', 'id' => $model->id]);
} else {
return $this->render('shipping', [
'model' => $model,
]);
}
}
public function actionPayment($id)
{
$model = new OrderPaymentMethod();
$model->order_id = $id;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['review', 'id' => $model->id]);
} else {
return $this->render('payment', [
'model' => $model,
]);
}
}
public function actionReview($id)
{
return $this->render('review', [
'model' => $this->findModel($id),
]);
}
Он работает, но правильно ли так делать?