/**
  * Performs validation on the provided model and $_POST data
  *
  * @param \infoweb\pages\models\Page $model The page model
  * @param array $post The $_POST data
  * @return array
  */
 protected function validateModel($model, $post)
 {
     $languages = Yii::$app->params['languages'];
     // Populate the model with the POST data
     $model->load($post);
     // Create an array of translation models and populate them
     $translationModels = [];
     // Insert
     if ($model->isNewRecord) {
         foreach ($languages as $languageId => $languageName) {
             $translationModels[$languageId] = new Lang(['language' => $languageId]);
         }
         // Update
     } else {
         $translationModels = ArrayHelper::index($model->getTranslations()->all(), 'language');
     }
     Model::loadMultiple($translationModels, $post);
     // Validate the model and translation
     $response = array_merge(ActiveForm::validate($model), ActiveForm::validateMultiple($translationModels));
     // Return validation in JSON format
     Yii::$app->response->format = Response::FORMAT_JSON;
     return $response;
 }
 /**
  * Performs validation on the provided model and $_POST data
  *
  * @param \infoweb\pages\models\Page $model The page model
  * @param array $post The $_POST data
  * @return array
  */
 protected function validateModel($model, $post)
 {
     $languages = Yii::$app->params['languages'];
     // Populate the model with the POST data
     $model->load($post);
     // Parent is root
     if (empty($post[StringHelper::basename(MenuItem::className())]['parent_id'])) {
         $model->parent_id = 0;
         $model->level = 0;
     } else {
         $parent = MenuItem::findOne($post[StringHelper::basename(MenuItem::className())]['parent_id']);
         $model->parent_id = $parent->id;
         $model->level = $parent->level + 1;
     }
     // Create an array of translation models and populate them
     $translationModels = [];
     // Insert
     if ($model->isNewRecord) {
         foreach ($languages as $languageId => $languageName) {
             $translationModels[$languageId] = new MenuItemLang(['language' => $languageId]);
         }
         // Update
     } else {
         $translationModels = ArrayHelper::index($model->getTranslations()->all(), 'language');
     }
     Model::loadMultiple($translationModels, $post);
     // Validate the model and translation
     $response = array_merge(ActiveForm::validate($model), ActiveForm::validateMultiple($translationModels));
     // Return validation in JSON format
     Yii::$app->response->format = Response::FORMAT_JSON;
     return $response;
 }