Postal code validation for multiple countries can always be a pain, but thanks to the Laravel Postal Code Validation package by Choraimy Kroonstuiver, validating postal codes is a breeze:
$this->validate($request, [ 'postal_code' => 'postal_code:NL,BE', ]);
Here’s a fluent version of the rule:
$this->validate($request, [ 'postal_code' => [ PostalCode::forCountry('NL')->andCountry('BE'), ], ]);
This package supports worldwide postal code validation, enabling your forms to support multiple postal codes or single out a specific postal code based on the user’s current locale for example.
As an interesting aside, I recently found this helpful list of regular expressions from the Common Locale Data Repository (CLDR) if you’re interested in regular expression postal code validation rules for every territory in the world. Here’s a Gist of the CLDR regex rules as a PHP array available on GitHub.
To start using this package, check out the source code and readme at axlon/laravel-postal-code-validation on GitHub.