You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

35 line
1003B

  1. <?php
  2. namespace Framework\Provider;
  3. use Framework\App;
  4. use Framework\Validation\Manager;
  5. use Framework\Validation\Rule\RequiredRule;
  6. use Framework\Validation\Rule\EmailRule;
  7. use Framework\Validation\Rule\MinRule;
  8. class ValidationProvider
  9. {
  10. public function bind(App $app): void
  11. {
  12. $app->bind('validator', function($app) {
  13. $manager = new Manager();
  14. $this->bindRules($app, $manager);
  15. return $manager;
  16. });
  17. }
  18. private function bindRules(App $app, Manager $manager): void
  19. {
  20. $app->bind('validation.rule.required', fn() => new RequiredRule());
  21. $app->bind('validation.rule.email', fn() => new EmailRule());
  22. $app->bind('validation.rule.min', fn() => new MinRule());
  23. $manager->addRule('required', $app->resolve('validation.rule.required'));
  24. $manager->addRule('email', $app->resolve('validation.rule.email'));
  25. $manager->addRule('min', $app->resolve('validation.rule.min'));
  26. }
  27. }

Powered by TurnKey Linux.