Besoin d'aide ?

Formulaire Ajax - Blade vs VueJS

  • Avatar de DimitriSorel
    Membre depuis :
    08/08/2019
    Messages :
    2

    Bonjour tout le monde,

    Pour que l'utilisateur puisse modifier son profil aisément, je cherche à développer un formulaire mettant à jour automatiquement les datas sur le serveur.

    profile.blade.php

    <form>

    <profile-input attribute="name" label="@lang('profile.username')" old-value="{{ $user->name }}">
    </profile-input>

    <profile-input attribute="setting_locale" label="@lang('profile.locale')" old-value="{{ $user->setting_locale }}">
    </profile-input>

    <profile-input attribute="email" label="@lang('profile.email')" old-value="{{ $user->email }}" disabled>
    </profile-input>

    ...

    </form>

    J'avais dans un premier temps réalisé simplement un composant "ProfileInput" qui envoyait une requète à mon API lorsque la valeur du champ input été modifiée. Sur l'API j'appel la méthode "update()" du controleur Profile

    ProfileController.php

    public function update(ProfileRequest $request)
    {
    // Updating data in DB
    return response()->json([
    'message' => 'Data updated',
    'request' => $request,
    ], 200);
    }

    Le problème c'est que ça ne me simplifie pas la tâche de la validation dans la classe ProfileRequest car je vais recevoir uniquement un champ, et non pas tout le formulaire...

    J'ai donc pensé à créer un composant englobant tout le formulaire, puis envoyer l'ensemble du formulaire à chaque fois qu'un champ est modifié. Le formulaire n'est pas très gros, je peux me le permettre, et cette fois mon ProfileRequest sera efficace !
    Mais j'en arrive à un soucis qui est que je ne peux plus "peupler" mon formulaire via Laravel, car mes balises "input" seront dans un composant VueJS et non plus sur un fichier .blade.php. Je serais obligé de faire un appel Ajax pour récupérer une première fois les infos puis de bidouiller pour la localization, ce qui m'embête un peu...

    Je crois que je suis pas très clair, mais merci à ceux qui prendront le temps de comprendre !
    Que me conseillez vous ?

    Bonne journée !

  • Avatar de Dom
    Membre depuis :
    17/07/2017
    Messages :
    9

    Salut,

    Tu pourrais utiliser cela :
    https://github.com/laracasts/PHP-Vars-To-Js-Transformer

    Comme ca tu pourrais avoir tes variables dans un objet JS.

  • Avatar de DimitriSorel
    Membre depuis :
    08/08/2019
    Messages :
    2

    Waouh merci Dom c'est super ça !

    Je devrais m'en sortir

    A très vite,

    Dim

Vous ne pouvez pas répondre à ce sujet.