Bonjour,

Je travaille avec October CMS et j'ai implémenté le plugin builder. J'ai créer un formulaire avec différents champs dont, 'nbre_employe_min' et 'nbre_employe_max'. Lorsque je clique sur "créer", j'aimerais recevoir un message d'erreur si le nombre d'employé maximum est inférieur ou égal au nombre d'employé minimum. Pour la validation des champs, je sais qu'on utilise ce code dans le model:

use \October\Rain\Database\Traits\Validation;
public $rules = [
    'nbre_employe_min' => 'required|numeric',
    'nbre_employe_max' => 'numeric',
];

J'aurais voulu faire quelque chose comme cela:

public $rules = [
    'nbre_employe_min' => 'required|numeric',
    'nbre_employe_max' => 'required|numeric|max:(nbre_employe_min + 1)',
];

Ça fait 2 jours que je cherches une réponse et que je ne trouves pas. Aidez-moi svp!!

1 réponse


Marylin Laforest
Auteur
Réponse acceptée

Pour ceux qui aurait la même question que moi, quelqu'un m'a donné la réponse:

Il n'y a rien qui existe pour faire cela, mais avec la validation customiser c'est possible

public function boot()
    {
        Validator::extend('bigger', function($attribute, $value, $parameters, $validator) {
            $min_field = $parameters[0];
            $data = $validator->getData();
            $min_value = $data[$min_field];
            return $value > $min_value;
        });
    }

et on l'utilise comme ça

public $rules = [
        'min' => 'required',
        'max' => 'required|bigger:min'
    ];