[JAVA] Problème de création du form avec Thymeleaf

Caused by: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'account' available as request attribute

Le problème exposé dans ce sujet a été résolu.

Bonjour,

Je rencontre une difficulté bloquante pour la création d’un formulaire.

Mon code Java :

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public String home(Model model) {
        model.addAttribute("accountForm", new FormAccount());
        return "index";
    }
    @RequestMapping(value = "/", method = RequestMethod.POST)
    public String homeForm(Model model, @ModelAttribute("accountForm") FormAccount accountForm) {
        return "redirect:/";
    }

Mon code HTML :

            <div class="column">
                <form action="#" th:action="@{/}" th:object="${accountForm}" method="post">
                    <!-- Champs nom -->
                    <div class="field">
                        <label class="label">Nom</label>
                        <div class="control">
                            <input class="input" type="text" placeholder="Smith" th:field="*{nom}">
                        </div>
                    </div>

                    <!-- Champs prénom -->
                    <div class="field">
                        <label class="label">Prénom</label>
                        <div class="control">
                            <input class="input" type="text" placeholder="Alex" th:field="*{prenom}">
                        </div>
                    </div>

                    <!-- Champs Email -->
                    <div class="field">
                        <label class="label">Email</label>
                        <div class="control">
                            <input class="input" type="email" placeholder="alexsmith@gmail.com" th:field="*{email}">
                        </div>
                    </div>

                    <!-- Champs téléphone -->
                    <div class="field">
                        <label class="label">Numéro de téléphone</label>
                        <div class="control">
                            <input class="input" type="tel" placeholder="06..." th:field="*{tel}">
                        </div>
                    </div>

                    <!-- Champs type de projet -->
                    <div class="field">
                        <label class="label">Type de projet</label>
                        <div class="control">
                            <input class="input" type="text" placeholder="Associatif, aide aux jeunes, etc..."
                                   th:field="*{typeProject}">
                        </div>
                    </div>

                    <!-- Champs description du projet -->
                    <div class="field">
                        <label class="label">Description du projet</label>
                        <div class="control">
                            <textarea class="textarea is-focused" placeholder="Mon projet consiste à [...]"
                                      th:field="*{description}"></textarea>
                        </div>
                    </div>

                    <!-- Validation des champs -->
                    <div class="control">
                        <button class="button is-primary">Valider</button>
                        <input type="submit" value="Create"/>
                    </div>
                </form>
            </div>

J’ai regardé des tutoriels, pourtant ça semble être correct, je suis ouvert à vos suggestions.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte