OrderValidateLogic.php 925 B

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