After that command it GENERATES a file app/Rules/OlympicYear.php
We can write rule in the passes() in OlympicYear.php generated file. It will return true or false depending on condition, which is this in our case public function passes($attribute, $value) { return $value >= 1896 && $value <= date('Y') && $value % 4 == 0; }
Next, we can update error message to be this: public function message() { return ':attribute should be a year of Olympic Games'; }
Finally, we USE this class in controller's store() METHOD we have this code: public function store(Request $request) { $this->validate($request, ['year' => new OlympicYear]); }