web-dev-qa-db-fra.com

Laravel 5.3 validateur de date: égal ou après start_date

J'utilise Laravel 5.3 pour valider start_date et end_date pour un événement. End_date doit être égal à start_date ou à la date postérieure. end_date >= start_date

$validator = Validator::make($data, [
    'start_date'    => 'required|date',
    'end_date'      => 'required|date|after:start_date',
]);

J'ai essayé d'utiliser après, mais cela ne fonctionne que pour end_date> start_date. Bien sûr, je peux ajouter une règle personnalisée en utilisant Validator::extend, mais j'aimerais savoir si nous pouvons faire sans ajouter de règle personnalisée.

Existe-t-il un moyen d'ajouter une règle négative ou d'ajouter une règle> =?

Merci

19
Paul Z.
$validator = Validator::make($data, [
    'start_date'    => 'required|date',
    'end_date'      => 'required|date|after_or_equal:start_date',
]);

Utilisez after_or_equal

33
Sujiraj R

En fait, vous pouvez également utiliser after_or_equal et before_or_equal lorsque vous utilisez au moins Laravel version 5.3.31. Cela peut aider à éviter d'avoir à passer à une version supérieure Laravel version.

4
lowerends

upgarate à 5.4 et vous pouvez utiliser after_or_equal voir https://laravel.com/docs/5.4/validation#rule-after-or -equal

3
Fouèd Moussi