Validate.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\User\Controller\Adminhtml\User;
  8. class Validate extends \Magento\User\Controller\Adminhtml\User
  9. {
  10. /**
  11. * AJAX customer validation action
  12. *
  13. * @return void
  14. */
  15. public function execute()
  16. {
  17. $response = new \Magento\Framework\DataObject();
  18. $response->setError(0);
  19. $errors = null;
  20. $userId = (int)$this->getRequest()->getParam('user_id');
  21. $data = $this->getRequest()->getPostValue();
  22. try {
  23. /** @var $model \Magento\User\Model\User */
  24. $model = $this->_userFactory->create()->load($userId);
  25. $model->setData($this->_getAdminUserData($data));
  26. $errors = $model->validate();
  27. } catch (\Magento\Framework\Validator\Exception $exception) {
  28. /* @var $error Error */
  29. foreach ($exception->getMessages(\Magento\Framework\Message\MessageInterface::TYPE_ERROR) as $error) {
  30. $errors[] = $error->getText();
  31. }
  32. }
  33. if ($errors !== true && !empty($errors)) {
  34. foreach ($errors as $error) {
  35. $this->messageManager->addError($error);
  36. }
  37. $response->setError(1);
  38. $this->_view->getLayout()->initMessages();
  39. $response->setHtmlMessage($this->_view->getLayout()->getMessagesBlock()->getGroupedHtml());
  40. }
  41. $this->getResponse()->representJson($response->toJson());
  42. }
  43. }