Я отправляю свою форму через ajax, и если есть ошибки, возвращайте json с ними. Но, когда возвращение действия JSON модели появляются эту ошибку:Zend Framework 2 - Возврат действия контроллера json
Inconsistent state; child view model is marked as terminal
Это мое действие:
$viewModel = new ViewModel();
$form = $sm->get('FormElementManager')->get('MyForm');
if ($request->isPost() && $request->isXmlHttpRequest()) {
$viewModel->setTerminal(true);
$jsonModel = new JsonModel();
try {
if ($sm->get('MyService')->myFunction($form, $request->getPost())) {
return $jsonModel->setVariables(array('var' => 'var1'));
}
} catch (\Exception $e) {
return $jsonModel->setVariables(
array('errorMessage' => $e->getMessage())
);
}
}
return $viewModel->setVariables(array('form' => $form));
Это my module.config.php
'view_manager' => array(
.....
'strategies' => array(
'ViewJsonStrategy',
),
)
Вы пытались удалить '$ viewModel-> setTerminal (true);'? –