Controller.php 1.3 KB

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