Add a new validation rule during
to validate whether the given date time is in a specific period which is 6 months by default.
Install the package via composer.
composer require lynnlin/date-time-validator
Add the service provider into config/app.php
.
'providers' => [
...
DateTimeValidator\ValidatorServiceProvider::class,
...
]
use Illuminate\Support\Facades\Validator;
// check 20160123 whether it is in 6 months ago from today
Validator::make(
['startAt' => '20160123'],
['startAt' => 'during']
);
// check 20150123 whether it is in 1 year ago from today since endAt is not given in the first argument
Validator::make(
['startAt' => '20150123'],
['startAt' => 'during:endAt,1Y', 'endAt' => 'string']
);
// check 20150123 whether it is in 1 day from 20150124
Validator::make(
['startAt' => '20150123', 'endAt' => '20150124'],
['startAt' => 'during:endAt,1d', 'endAt' => 'string']
);
// check 20150123 whether it is in 1 week from 20150124
Validator::make(
['startAt' => '20150123', 'endAt' => '20150124'],
['startAt' => 'during:endAt,1w', 'endAt' => 'string']
);