vdhicts / laravel-validation-rules
Collection of validation rules for Laravel.
Installs: 20 751
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 0
Forks: 1
Open Issues: 0
Requires
- php: >=8.2
- illuminate/support: ^10.0|^11.0
- laravel/pint: ^1.7
- spatie/regex: ^3.1
Requires (Dev)
- orchestra/testbench: ^8.0|^9.0
- phpstan/phpstan: ^1.4
- phpunit/phpunit: ^10.0
README
This package offers extra validation rules for Laravel.
Requirements
This package requires Laravel 11+ and PHP 8.2+. If you need to support older version, see the table below:
Installation
You can install the package via composer:
composer require vdhicts/laravel-validation-rules
The package will automatically register itself in Laravel.
Translation
The package includes both English and Dutch translations. The translations can be published by running:
php artisan vendor:publish
Available Rules
BicNumber
Validates the provided BIC number.
'field' => [new \BicNumber()],
Contains
Validates if the value contains a certain phrase.
'field' => [new Contains($needle)],
ContainsAny
Validates if the value contains any of the provided phrases.
'field' => [new ContainsAny(['foo', 'bar'])],
DateAfterOrEqual
Validates if the value is a date after or equals the provided date (Carbon).
'field' => [new DateAfterOrEqual($date)],
DateBeforeOrEqual
Validates if the value is a date before or equals the provided date (Carbon).
'field' => [new DateBeforeOrEqual($date)],
DateHasSpecificMinutes
Validates if the selected minutes for the provided date are according to the available minutes.
'field' => [new DateHasSpecificMinutes([0, 15, 30, 45])],
When the date is not according to the 'Y-m-d H:i' format then you are able to specify the format as second parameter:
'field' => [new DateHasSpecificMinutes([0, 15, 30, 45], 'd-m-Y H:i')],
DutchPhone
Validates if the value is a valid dutch phone number. Both mobile or landlines are supported. See the Phone
validation
rule to validate a phone number which isn't limited to the Netherlands.
'field' => [new DutchPhone()],
DutchPostalCode
Validates if the value is a valid dutch zip code, like 1234AB
.
'field' => [new DutchPostalCode()],
HostName
Validates if the value contains a valid hostname, like example.com
.
'field' => [new HostName()],
InternationalBankAccountNumber
Validates if the value contains a valid IBAN.
'field' => [new InternationalBankAccountNumber()],
Interval
Validates if the value is an interval, i.e. PT30S
.
'field' => [new Interval()],
MaximumHourDifference
Validates if the value is differing less then the provided amount of hours.
'field' => [new MaximumHourDifference($start, 10)];
Mime Type
Validates if the value is a structural valid MIME.
'field' => [new MimeType()],
NotContains
Validates if the value NOT contains a certain phrase.
'field' => [new NotContains($needle)],
Phone
Validates if the value is a valid phone number.
'field' => [new Phone()],
Positive interval
Validates if the value is an interval and the interval is positive.
'field' => [new PositiveInterval()],
Price
Validates if the value is a valid price. The rule optionally accepts a specific decimal sign. When the decimal isn't
provided it accepts both ,
or .
signs.
'field' => [new Price()], // accepts both , and . 'field' => [new Price(',')], // accepts only ,
Secure url
Validates if the value is a valid secure url, i.e. is a HTTPS url.
'field' => [new SecureUrl()],
Semver
Validates if the value is a valid version according to the Semver standard.
'field' => [new Semver()],
VatNumber
Validates if the value is a valid formatted VAT number.
'field' => [new VatNumber()],
Be aware: It doesn't check if the number is known in the VAT database. If you need to know the VAT number is truly legit, check with VIES.
Contribution
Any contribution is welcome, but it should be (unit) tested and meet the PSR-12 standard and please create one pull request per feature. In exchange, you will be credited as contributor on this page.
Security
If you discover any security related issues in this or other packages of Vdhicts, please email security@vdhicts.nl instead of using the issue tracker.
License
This package is open-sourced software licensed under the MIT license.
About vdhicts
Vdhicts is the name of my personal company. Vdhicts develops and implements IT solutions for businesses and educational institutions.