The difference is since Laravel 5.5, the validate method is available on the Illuminate\Http\Request object (request()->validate) rather than previously via the ValidatesRequests trait that was mixed into Controllers ($this->validate).
The newer implementation also functions as a filter similar to request()->only(), returning only the request fields that are specified in the rules array. This means you need to add a key/value pair with an empty value to pass the field through
$data = request()->validate([
'name' => 'required',
'email' => 'required',
'age' => ''
]);
$user = User::create($data);