Validate.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Variable\Controller\Adminhtml\System\Variable;
  8. /**
  9. * Validate variable value before save controller
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Validate extends \Magento\Variable\Controller\Adminhtml\System\Variable
  14. {
  15. /**
  16. * Validate Action
  17. *
  18. * @return \Magento\Framework\Controller\Result\Json
  19. */
  20. public function execute()
  21. {
  22. $response = new \Magento\Framework\DataObject(['error' => false]);
  23. $variable = $this->_initVariable();
  24. $variable->addData($this->getRequest()->getPost('variable'));
  25. $result = $variable->validate();
  26. if ($result instanceof \Magento\Framework\Phrase) {
  27. $this->messageManager->addError($result->getText());
  28. $layout = $this->layoutFactory->create();
  29. $layout->initMessages();
  30. $response->setError(true);
  31. $response->setHtmlMessage($layout->getMessagesBlock()->getGroupedHtml());
  32. }
  33. /** @var \Magento\Framework\Controller\Result\Json $resultJson */
  34. $resultJson = $this->resultJsonFactory->create();
  35. return $resultJson->setData($response->toArray());
  36. }
  37. }