protected function getRouteRules($route, $bindings)
{
list($class, $method) = explode('@', $route);
$reflection = new ReflectionClass($class);
$reflectionMethod = $reflection->getMethod($method);
foreach ($reflectionMethod->getParameters() as $parameter) {
$parameterType = $parameter->getClass();
if (!is_null($parameterType) && class_exists($parameterType->name)) {
$className = $parameterType->name;
if (is_subclass_of($className, FormRequest::class)) {
$parameterReflection = new $className();
// Add route parameter bindings
$parameterReflection->query->add($bindings);
$parameterReflection->request->add($bindings);
if (method_exists($parameterReflection, 'validator')) {
return $parameterReflection->validator()->getRules();
} else {
return $parameterReflection->rules();
}
}
}
}
return [];
}