1
votes

Vérification de date_start et date_end

J'ai une date de début et une date de fin dans un formulaire ...

Dans ma méthode rules code > J'ai ceci:

    if ($this->request->get('date_revision_start') < $this->request->get('date_revision_end')) 
    {
               return redirect()->route('revisions.index')
                    ->with('error', 'The end date cannot be before the start date!');
    }

La date de fin ne peut pas être antérieure à la date de début. Où dois-je faire la condition? Dans le contrôleur?

    public function rules()
    {
            return [
                //
                'date_revision_start' => 'after:2009-01-01|before:2023-01-01',
                'date_revision_end' => 'after:2009-01-01|before:2023-01-01'
             ];
    }


0 commentaires

3 Réponses :


3
votes

Vous n'avez pas besoin de vérifier la condition si vous utilisez la validation

public function rules()
{
    return [
        //
        'date_revision_start' => 'after:2009-01-01|before:2023-01-01',
        'date_revision_end' => 'after:date_revision_start|before:2023-01-01'
    ];
}


2 commentaires

Merci Karan. ^^


Heureux de vous aider ... @ user11124425



1
votes

Vous pouvez utiliser Carbon et faire quelque chose comme ceci:

public function rules() {
        return [
            'date_revision_end' => 'date|after:date_revision_start|before:2023-01-01'
         ];
    }

Si vous utilisez comme ça, vous pouvez le faire au démarrage de votre contrôleur.

Ou vous pouvez utiliser la validation:

if (Carbon::parse($request->get('date_revision_start')->greaterThan(Carbon::parse($this->request->get('date_revision_end')))) {
    return redirect()->route('revisions.index')
                ->with('error', 'The end date cannot be before the start date!');
}


0 commentaires

0
votes

Vous devriez essayer ceci:

public function rules()
    {
        return [
            //
            'date_revision_start' => 'after:2009-01-01|before_or_equal:2023-01-01',
            'date_revision_end' => 'after:2009-01-01|after_or_equal:2023-01-01'
         ];
}


0 commentaires