Validator.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\Order\Shipment\Track;
  7. use Magento\Sales\Model\Order\Shipment\Track;
  8. /**
  9. * Class Validator
  10. */
  11. class Validator
  12. {
  13. /**
  14. * Required field
  15. *
  16. * @var array
  17. */
  18. protected $required = [
  19. 'parent_id' => 'Parent Track Id',
  20. 'order_id' => 'Order Id',
  21. 'track_number' => 'Number',
  22. 'carrier_code' => 'Carrier Code',
  23. ];
  24. /**
  25. * Validate data
  26. *
  27. * @param \Magento\Sales\Model\Order\Shipment\Track $track
  28. * @return array
  29. */
  30. public function validate(Track $track)
  31. {
  32. $errors = [];
  33. $commentData = $track->getData();
  34. foreach ($this->required as $code => $label) {
  35. if (!$track->hasData($code)) {
  36. $errors[$code] = sprintf('"%s" is required. Enter and try again.', $label);
  37. } elseif (empty($commentData[$code])) {
  38. $errors[$code] = sprintf('%s can not be empty', $label);
  39. }
  40. }
  41. return $errors;
  42. }
  43. }