Autour de Laravel

Définir les règles de validation dynamiquement

Avatar de Bilal
Bilal

Bonjour à tous,

Je cherche un moyen pour définir les rules d'une manière dynamique. c'est à dire en fonction de choix de l'utilisateur. Par exemple : je souhaite vérifier les règles d'un champs s'il est requis ou non, le nombre de caratctère (max, min) et ce d'une manière dynamique. J'ai réussi à définir une règles mais je galère, depuis hier, à enchainer comme ça plusieurs règles.

public function rules 
{
    $rules = [];
    
    foreach($this->fields as $field) {
        $rules[$filed->name] = $field->config['fieldRequired']  ?  'required' : 'sometimes';
    }
    
    return $rules;
}

Je vous remercie pour votre aide.

Posté il y a 1 mois
Avatar de Bilal
Bilal

J'ai trouvé pour l'instant cette solution. Qu'est ce que vous en pensez?

public function rules 
{
    $rules = [];
    
    foreach($this->fields as $field) {
              if(isset($field->config['fieldRequired'])) {
                    $rules[$filed->name.'.'.$index] = $field->config['fieldRequired']  ?  'required' : 'sometimes';
             }
              if(isset($field->config['sizeText'])) {
                    $rules[$field->name.'.'.$index] = $rules[$field->name.'.'.$index] . '|max:'.$field->config['sizeText'];
           }
           ....
           ....
    }

    
    return $rules;
}

Posté il y a 1 mois

Vous ne pouvez pas répondre à ce sujet.