IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Laravel PHP Discussion :

Validation sans mise à jour de BdD


Sujet :

Laravel PHP

  1. #1
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut Validation sans mise à jour de BdD
    Bonjour,
    J'ai un problème de validation avec Laravel 6. Quand je soumet le formulaire aucune n'erreur ne s'affiche mais les données ne vont pas dans la base de données.
    Voici le code du formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
     
     
    <form action="{{ route('clients.store') }}" method="POST">
                        @csrf
                        <div class="form-group">
                            <div class="row col-sm-12">
                                <select name="id_agence" class="form-control">
                                    @foreach($agences as $agences)
                                        <option value="{{ $agences->id }}">{{ $agences->localisation }}</option>
                                    @endforeach
                                </select>
                                @error('id_agence')
                                    <div class="invalid-feedback">{{ $message }}</div>
                                @enderror 
                            </div>   
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('nomClient') is-invalid @enderror" name="nomClient" id="nomClient" placeholder="La nomClient" value="{{ old('nomClient') }}">
                            @error('nomClient')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('prenomClient') is-invalid @enderror" name="prenomClient" id="prenomClient" placeholder="La prenomClient" value="{{ old('prenomClient') }}">
                            @error('prenomClient')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="date" class="form-control  @error('dateNaiss') is-invalid @enderror" name="dateNaiss" id="dateNaiss" placeholder="La dateNaiss" value="{{ old('dateNaiss') }}">
                            @error('dateNaiss')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('lieuNaiss') is-invalid @enderror" name="lieuNaiss" id="lieuNaiss" placeholder="La lieuNaiss" value="{{ old('lieuNaiss') }}">
                            @error('lieuNaiss')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <div class="row col-sm-12">
                                <select name="sexe" class="form-control">
                                    <option value="{{old('sexe')}}"> Masculin</option>
                                    <option value="{{old('sexe')}}"> Féminin</option>
                                </select>
                                @error('sexe')
                                    <div class="invalid-feedback">{{ $message }}</div>
                                @enderror 
                            </div>   
                        </div>
                        <div class="form-group">
                            <div class="row col-sm-12">
                                <select name="situationMatri" class="form-control">
                                    <option value="{{old('situationMatri')}}"> Célibataire</option>
                                    <option value="{{old('situationMatri')}}"> Marié(e)</option>
                                    <option value="{{old('situationMatri')}}"> Veuf(ve)</option>
                                    <option value="{{old('situationMatri')}}"> Divorcé(e)</option>
                                </select>
                                @error('situationMatri')
                                    <div class="invalid-feedback">{{ $message }}</div>
                                @enderror 
                            </div>   
                        </div>
                        <div class="form-group">
                            <input type="number" class="form-control  @error('nbPersEnCharge') is-invalid @enderror" name="nbPersEnCharge" id="nbPersEnCharge" placeholder="La nbPersEnCharge" value="{{ old('nbPersEnCharge') }}" min="0">
                            @error('nbPersEnCharge')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('nationalite') is-invalid @enderror" name="nationalite" id="nationalite" placeholder="La nationalite" value="{{ old('nationalite') }}" maxlength="15">
                            @error('nationalite')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="email" class="form-control  @error('emailClient') is-invalid @enderror" name="emailClient" id="emailClient" placeholder="La emailClient" value="{{ old('emailClient') }}">
                            @error('emailClient')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('numcarteIdentite') is-invalid @enderror" name="numcarteIdentite" id="numcarteIdentite" placeholder="La numcarteIdentite" value="{{ old('numcarteIdentite') }}">
                            @error('numcarteIdentite')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('profession') is-invalid @enderror" name="profession" id="profession" placeholder="La profession" value="{{ old('profession') }}">
                            @error('profession')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('adresse') is-invalid @enderror" name="adresse" id="adresse" placeholder="La adresse" value="{{ old('adresse') }}">
                            @error('adresse')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="text" class="form-control  @error('numTel') is-invalid @enderror" name="numTel" id="numTel" placeholder="La numTel" value="{{ old('numTel') }}" maxlength="11">
                            @error('numTel')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <div class="form-group">
                            <input type="date" class="form-control  @error('dateAdhesion') is-invalid @enderror" name="dateAdhesion" id="dateAdhesion" placeholder="La dateAdhesion" value="{{ old('dateAdhesion') }}">
                            @error('dateAdhesion')
                                <div class="invalid-feedback">{{ $message }}</div>
                            @enderror
                        </div>
                        <button type="submit" class="btn btn-secondary">Envoyer !</button>
                    </form>
    Voici le code du request:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    class ClientsRequest extends FormRequest
    {
        /**
         * Determine if the user is authorized to make this request.
         *
         * @return bool
         */
        public function authorize()
        {
            return true;
        }
     
        /**
         * Get the validation rules that apply to the request.
         *
         * @return array
         */
        public function rules()
        {
            return [
                'id_agence' =>'bail|required|integer|max:50',
                'nomClient' => 'bail|required|max:50|string',
                'prenomClient' => 'bail|required|max:100|string',
                'dateNaiss'=> 'bail|required|date',
                'lieuNaiss'=> 'bail|required|string|max:50',
                'sexe' => 'bail|required|string|max:50',
                'situationMatri' => 'bail|required|string|max:50',
                'nbPersEnCharge' => 'bail|required|integer',
                'nationalite' => 'bail|required|string|max:50',
                'numcarteIdentite' => 'bail|required|string|max:15',
                'profession' => 'bail|required|string|max:50',
                'emailClient' => 'bail|email|max:50',
                'adresse' => 'bail|required|string|max:50',
                'numTel' => 'bail|required|string|max:11',
                'dateAdhesion' => 'bail|required|date'
     
            ];
        }
    }
    Et voici le code du controlleur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    class ClientController extends Controller
    {
        public function create()
    	{
       		$agences = Agence::all();
        	return view('clients', compact('agences'));
    	}
     
     
     
    	public function index()
        {
     
            $clients = Clients::all();
            return view('index', compact('clients'));
        }
     
     
        public function store(ClientsRequest $request)
    	{
    	    Clients::create($request->all());
    	    return "Le client a bien été créé" ;
     
    	}
    voici le code de la route:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Route::get('clients', 'ClientController@create')->name('clients.create');
    Route::post('clients', 'ClientController@store')->name('clients.store');
    Merci d'avance.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour, visuellement vous avez quoi comme retour ?

  3. #3
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Bonjour, lorsque je clique sur le bouton envoyer le formulaire me revient avec toutes les données que j'ai mis dans les champs. J'ai essayer une insertion direct dans la base de données et je pense que c'est un problème de format de date. je suis actuellement entrain de faire des recherches sur comment changer le format avant de l'insérer dans la base de données. Pouvez-vous m'aidez s'il vous plait? Merci

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Il faut voir comment on reçois les infos.
    Pouvez-vous faire un dd() dans le store

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     public function store(ClientsRequest $request)
    	{
                dd($request);
    	    Clients::create($request->all());
    	    return "Le client a bien été créé" ;
     
    	}

  5. #5
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    J'ai fait le dd() dans le store et toujours rien qui s'affiche après validation du formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     public function store(ClientsRequest $clientRequest)
        {
            dd($clientRequest);
            Clients::create($clientRequest->all());
            return "Le client a bien été créé" ;
     
        }

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Heu...le dd() devrais au moins afficher ce que vous avez dans votre variable et arrêter votre script

  7. #7
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Huuum.... Malheuresement rien ne s'affiche, il y'a juste le formulaire qui revient comme toujours.

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    C'est pas possible..... vous pouvez faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    php artisan route:list
    Histoire de s'assurer que vous allez au bon endroit

  9. #9
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Voici le resultat de la route list:
    Nom : routeliste.PNG
Affichages : 455
Taille : 5,5 Ko

  10. #10
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Oui suis-je bête, changer la méthode comme ceci :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public function store(Request $clientRequest)
        {
            dd($clientRequest);
            Clients::create($clientRequest->all());
            return "Le client a bien été créé" ;
     
        }

  11. #11
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Voici le code que j'ai eu maintenant en soumettant mon formulaire:
    Code x : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Request {#51 ▼
      #json: null
      #convertedFiles: null
      #userResolver: Closure($guard = null) {#31 ▶}
      #routeResolver: Closure() {#267 ▶}
      +attributes: ParameterBag {#53 ▶}
      +request: ParameterBag {#52 ▶}
      +query: ParameterBag {#59 ▶}
      +server: ServerBag {#55 ▶}
      +files: FileBag {#56 ▶}
      +cookies: ParameterBag {#54 ▶}
      +headers: HeaderBag {#57 ▶}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: null
      #pathInfo: "/clients"
      #requestUri: "/demandecredit/public/clients"
      #baseUrl: "/demandecredit/public"
      #basePath: null
      #method: "POST"
      #format: null
      #session: Store {#289 ▶}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: "/demandecredit/public"
      format: "html"
    }

  12. #12
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Je suis désolé, mais je reçois pas de mail de modification.

    Que donne ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    public function store(Request $clientRequest)
        {
            dd($clientRequest->all());
            Clients::create($clientRequest->all());
            return "Le client a bien été créé" ;
     
        }

  13. #13
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Voici ce que j'ai eu comme résultat après soumission du formulaire:

    Nom : Annotation 2019-12-16 081626.png
Affichages : 461
Taille : 35,9 Ko

  14. #14
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Il faut déplier attributes request et query

  15. #15
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Nom : Annotation 2019-12-16 083031.png
Affichages : 456
Taille : 31,1 Ko

  16. #16
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    donc on voit que les dates sont correctes

    Par contre sexe et SituationMatri qui sont obligatoire sont à null

  17. #17
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Oui Oui les dates sont bien correctes.
    voici le code de l'enregistrement du sexe et de la situation matrimoniale:
    Nom : Annotation 2019-12-16 090349.png
Affichages : 455
Taille : 176,3 Ko

  18. #18
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Ok, comme vous jouez avec les old(), vous renvoyer au départ du null.
    La meilleur façon de gérer ce souci pour moi est de travailler avec LaravelCollective et son plugin HTML

  19. #19
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2017
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Togo

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2017
    Messages : 28
    Par défaut
    Merci beaucoup pour votre aide. La validation marche maintenant avec succès.

  20. #20
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Bonjour,

    Juste pour information, la validation fonctionne grâce à LaravelCollective ?

    Merci d'avance pour l'info.

    bee

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [XL-2000] Mises à Jour réciproques BDD Access / Excel via code VB
    Par Itulu dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/03/2010, 17h55
  2. Mise à jour automatique bdd
    Par sodaw dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 28/01/2010, 13h34
  3. [VBA]Requête de Mise à jour de BDD qui ne s'exécute pas
    Par Playerz dans le forum VBA Access
    Réponses: 3
    Dernier message: 09/06/2008, 09h48
  4. Réponses: 2
    Dernier message: 06/06/2008, 14h27
  5. [CR5][VB6][MSAccess][WinXP] PB de mise à jour de BDD
    Par Gérard Connier dans le forum SDK
    Réponses: 3
    Dernier message: 25/10/2003, 14h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo