Laravel developers love FormRequest
classes for their clean validation approach. But if you've ever felt the boilerplate is too much—writing $request->validated()
and manually assigning every input—you’re not alone.
The arshidkv12/data-request — a minimal Laravel package that lets you define validated fields as typed public properties and auto-fills them after validation.
✅ What Problem Does It Solve?
Normally, you'd do something like this:
public function store(Request $request)
{
$validated = $request->validate([
'name' => 'required|string',
'email' => 'required|email',
]);
$user = User::create([
'name' => $validated['name'],
'email' => $validated['email'],
]);
}
Or using FormRequest:
class RegisterRequest extends FormRequest
{
public string $name;
public string $email;
public function rules(): array
{
return [
'name' => 'required|string',
'email' => 'required|email',
];
}
}
Then inside the controller:
public function store(Request $request)
{
$user = User::create([
'name' => $validated->name,
'email' => $validated->email,
]);
}
No more $request->validated()
and manual unpacking. Your public properties are automatically assigned from validated input.
🔧 Installation
composer require arshidkv12/data-request
🛡️ Safety Features
✨ Uses Laravel’s native validation.
🧪 Fails fast if validation rules are missing.
✅ Type-safe properties prevent unexpected nulls or type mismatches.
📦 Use Cases
Perfect for:
- API request classes
- Form submissions
- Admin panel inputs
- Anywhere you want less repetitive validation-to-property code
Top comments (0)