Приветствую,проблема такова: Реализовал передачу json ошибки валидации: PHP: $model=new RegForm(); if(Yii::$app->getRequest()->post('reg') && Yii::$app->getRequest()->getIsAjax()) { if (!$model->validate()) { Yii::$app->response->format = Response::FORMAT_JSON; return $this->asJson([ 'success' => true, 'message' => $model->errors, ]); } else { ///registr } } Как бе все передает,НО не так хорошо было. Первое,как преобразовать объект из массивов в строку,чтобы не было на фронте такой каши : Щас: {"name":["Необходимо заполнить «Name»."],"login":["Необходимо заполнить «Login»."],"email":["Необходимо заполнить «Email»."],"password":["Необходимо заполнить «Password»."],"password_repeat":["Необходимо заполнить «Password Repeat»."]} Надо: Необходимо заполнить «Name». Необходимо заполнить «Email» И тд. Второе,почему ошибки не обновляются,даже если исправил.(Если в activeForm добавить в шаблон {error} ,то все норм.) Код (Javascript): $(document).on('click', '#mdl-snackbar', function(event) { event.preventDefault(); let snackbarContainer = document.querySelector('#demo-snackbar-example'); $.post( document.location.href, {reg: 1} ).done(function(response) { if (response.success) { console.log(response.message); let data = { message: JSON.stringify(response.message), timeout: 10000, actionText: 'Undo' }; snackbarContainer.MaterialSnackbar.showSnackbar(data); } }); })
На первое - ответ https://www.yiiframework.com/doc/api/2.0/yii-base-model#$firstErrors-detail, второе - надо отлаживать ваш JavaScript
Не очень понятно как надо. Наугад, надо так {key: 'string', ...} ? JSON.stringify - объект в строку JSON.parse - строку json в объект json или Код (Javascript): $.post(url, {}, 'json') // Тип ожидаемых данных