Controller.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
  4. use Illuminate\Foundation\Bus\DispatchesJobs;
  5. use Illuminate\Foundation\Validation\ValidatesRequests;
  6. use Illuminate\Routing\Controller as BaseController;
  7. use Illuminate\Http\Request;
  8. class Controller extends BaseController
  9. {
  10. use AuthorizesRequests;
  11. use DispatchesJobs;
  12. use ValidatesRequests;
  13. /**
  14. * Validate the given request with the given rules.
  15. *
  16. * @return array
  17. *
  18. * @throws \Illuminate\Validation\ValidationException
  19. */
  20. public function validate(
  21. Request $request,
  22. array $rules,
  23. array $messages = [],
  24. array $customAttributes = []
  25. ) {
  26. $validate = [];
  27. foreach ($rules as $k => $v) {
  28. $tmp = explode('|', $k);
  29. $validate[$tmp[0]] = $v;
  30. if (!empty($tmp[1]) && empty($customAttributes[$tmp[0]])) {
  31. $customAttributes[$tmp[0]] = $tmp[1];
  32. }
  33. }
  34. return $this->getValidationFactory()->make(
  35. $request->all(),
  36. $validate,
  37. $messages,
  38. $customAttributes
  39. )->validate();
  40. }
  41. }