Laravel Dry Requests is an amazing package that allows you to check if your requests would pass validation if you executed them normally. The Laravel equivalent of --dry-run in various CLI tools, or what some devs call "preflight requests".

Option 2 - using validate method on the Request object class UserController { public function store(Request $request): UserResource { $validated = $request->validate([ 'email' => ['required', 'email', 'max:255', 'unique:users'], 'username' => ['required', 'string', 'min:2', 'max:255', 'unique:users'], 'nickname' => ['nullable', 'string', 'min:2', 'max:255'], ]); $user = User::create($request->validated()); return new UserResource($user); }}

// Successful unique username check: Controller did not execute axios.post('/users', { username: 'Asil Kan' }, { headers: { 'X-Dry-Run': true }}) .then(response => response.status); // 200 OK

Inertia.js example const { clearErrors, data, errors, setData } = useForm({ email: '', password: '', password_confirmation: '', }); const pick = (obj, fields) => fields.reduce((acc, cur) => (acc[cur] = obj[cur], acc), {}); const validateAsync = (...fields) => () => { Inertia.post(route('register'), pick(data, fields) , { headers: { 'X-Dry-Run': 'all' }, onError: setError, onSuccess() { clearErrors(...fields); }, }); }
Newsletter

Get the latest Laravel/PHP jobs, events and curated articles straight to your inbox, once a week

Glimpse streamlines Laravel development by seamlessly deploying GitHub pull requests to preview environments with the help of Laravel Forge. Glimpse streamlines Laravel development by seamlessly deploying GitHub pull requests to preview environments with the help of Laravel Forge.
Fathom Analytics | Fast, simple and privacy-focused website analytics. Fathom Analytics | Fast, simple and privacy-focused website analytics.
Shirts painstakingly handcrafted by under-caffeinated developers. Shirts painstakingly handcrafted by under-caffeinated developers.
Community Partners