GroupedValidationException.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. /*
  3. * Copyright (c) Alexandre Gomes Gaigalas <alganet@gmail.com>
  4. * SPDX-License-Identifier: MIT
  5. */
  6. declare(strict_types=1);
  7. namespace Respect\Validation\Exceptions;
  8. use function count;
  9. /**
  10. * @author Alexandre Gomes Gaigalas <alganet@gmail.com>
  11. * @author Henrique Moody <henriquemoody@gmail.com>
  12. */
  13. class GroupedValidationException extends NestedValidationException
  14. {
  15. public const NONE = 'none';
  16. public const SOME = 'some';
  17. /**
  18. * {@inheritDoc}
  19. */
  20. protected $defaultTemplates = [
  21. self::MODE_DEFAULT => [
  22. self::NONE => '所有必需的规则都必须传递给 {{name}}',
  23. self::SOME => '这些规则必须传递给 {{name}}',
  24. ],
  25. self::MODE_NEGATIVE => [
  26. self::NONE => '所有规则都不能传递给 {{name}}',
  27. self::SOME => '这些规则不能传递给 {{name}}',
  28. ],
  29. ];
  30. /**
  31. * {@inheritDoc}
  32. */
  33. protected function chooseTemplate(): string
  34. {
  35. $numRules = $this->getParam('passed');
  36. $numFailed = count($this->getChildren());
  37. return $numRules === $numFailed ? self::NONE : self::SOME;
  38. }
  39. }