Laravel Tutorials

Laravel 5.4 Includes Two New Middleware

Published
Laravel 5.4 Includes Two New Middleware image

Laravel 5.4 is scheduled to be released next week, and it already includes many great new features, but the team was able to sneak in two new Middleware offerings. These are TrimStrings and ConvertEmptyStringsToNull.

Trim Strings Middleware

Just as the name suggests, the Trim Strings middleware will automatically trim all the request data so you don’t have to worry about those situations where someone may inadvertently add extra spaces in your form fields.

As an example let’s say you have a newsletter signup which requires an email address. Previously, if someone entered an extra space it would end up like this:

dd(request('email'));
// 'demo@example.org '

Now, by adding the TrimStrings middleware to App/Kernel.php:

protected $middleware = [
\Illuminate\Foundation\Http\Middleware\TrimStrings::class,

This would result in:

dd(request('email'));
// 'demo@example.org'

Convert Empty Strings to Null

Paired with the Trim Strings, is a new ConvertEmptyStringsToNull which works in basically the same way. A good example is a form with a not required field that maps to a nullable database column.

As an example, pretend you have a VAT field for users to enter their tax code.

<input type="text" name="vat" value="">

If you left it blank prior, it would return an empty string:

dd(request('vat'));
// ''

With the ConvertEmptyStringsToNull middleware this will now be null:

dd(request('vat'));
// null

Be sure and check out the Laravel 5.4 page to see other new features coming to this release and also join the newsletter to not miss out on new posts.

Eric L. Barnes photo

Eric is the creator of Laravel News and has been covering Laravel since 2012.

Sponsored

masteringlaravel logo
Laravel Code Review

Get expert guidance in a few days with a Laravel code review

Visit Laravel Code Review

The latest

View all →
Bifrost Turns One With AI Builds and New Workflows image

Bifrost Turns One With AI Builds and New Workflows

Read article
Preview Blade Templates in macOS Finder with Quick Blade image

Preview Blade Templates in macOS Finder with Quick Blade

Read article
Artisan Debugging Commands in Laravel Telescope 5.24.0 image

Artisan Debugging Commands in Laravel Telescope 5.24.0

Read article
Queue totalSize() and JobInterrupted Event in Laravel 13.31 image

Queue totalSize() and JobInterrupted Event in Laravel 13.31

Read article
Find Unexpected Test Inputs with Fuzz for Pest image

Find Unexpected Test Inputs with Fuzz for Pest

Read article
Laravel Rulebook: Business Rules That Change by Date image

Laravel Rulebook: Business Rules That Change by Date

Read article