OrderValidateLogic.php 914 B

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace addons\Happiness\common\logic\order;
  3. use addons\Happiness\common\logic\order\validate\EnergyValueOrderValidate;
  4. use addons\Happiness\common\logic\order\validate\OrderValidateInterface;
  5. use addons\Happiness\common\logic\order\validate\ValetOrderValidate;
  6. class OrderValidateLogic
  7. {
  8. /**
  9. * @var OrderValidateInterface[]
  10. */
  11. protected static $handlers = [
  12. ValetOrderValidate::class,
  13. EnergyValueOrderValidate::class,
  14. ];
  15. /**
  16. * @param BaseOrderForm $form
  17. * @return string|true
  18. */
  19. public static function run(BaseOrderForm $form)
  20. {
  21. try {
  22. if (!empty(self::$handlers)) {
  23. foreach (self::$handlers as $handler) {
  24. (new $handler())->valid($form);
  25. }
  26. }
  27. } catch (\Exception $e) {
  28. return $e->getMessage();
  29. }
  30. return true;
  31. }
  32. }