recherche
Maisoncadre phpLaravelVue.js dans le framework laravel5.4 implémente la vérification des erreurs de soumission de formulaire Ajax

Le contenu de cet article concerne la vérification des erreurs de soumission de formulaire Ajax implémentée par vue.js dans le framework laravel5.4. Elle a une certaine valeur de référence et j'espère qu'elle pourra aider les amis dans le besoin.

Avant de commencer, préparez d'abord l'environnement de développement. Nous supposons que vous avez installé Laravel Quant à l'introduction de Vue, veuillez vous référer à la documentation officielle.

Après avoir terminé les préparatifs ci-dessus, nous pouvons commencer notre développement. Dans ce tutoriel, nous démontrerons la vérification du formulaire de la page de publication de l'article.

Ajoutez d'abord deux règles de routage dans routes/web.php :

Route::get('post/create', 'PostController@create');
Route::post('post/save', 'PostController@save');

Exécutez ensuite la commande Artisan dans le répertoire racine du projet pour créer le contrôleur PostController :

php artisan make:controller PostController

Ajoutez deux nouvelles méthodes dans le contrôleur généré pour gérer les demandes de routage :

public function create() {
    return view('post.create');
}
public function save(Request $request) {
    // 设置验证规则
    $this->validate($request, [
         'title' => 'required',
         'body'  => 'required'
     ]);
}

L'étape suivante consiste à créer une vue de réponse afin de réutiliser les styles et les mises en page existants. Nous exécutons d'abord ce qui suit. Commande artisanale :

php artisan make:auth

Pour que nous puissions réutiliser la mise en page de la fonction d'authentification fournie avec Laravel, créez le fichier de vue post/create.blade.php et modifiez le contenu du fichier comme suit :

@extends('layouts.app')
@section('content')
    <div class="container">
        <!--创建成功显示消息-->
        <div class="alert alert-success" v-if="submitted">
            创建成功!
        </div>
        <!--页面提交之后阻止刷新-->
        <form @submit.prevent="createPost" method="POST">
            <legend>创建文章</legend>
            <!--如果title字段验证失败则添加.has-error-->
            <div class="form-group" :class="{&#39;has-error&#39;:errors.title}">
                <label>文章标题</label>
                <input type="text" name="title" class="form-control" v-model="post.title" value="{{ old(&#39;title&#39;) }}">
                <!--如果验证失败通过FormError组件显示错误信息-->
                <form-error v-if="errors.title" :errors="errors">
                    @{{errors.title.join(&#39;,&#39;)}}
                </form-error>
            </div>
            <!--如果body字段验证失败则添加.has-error-->
            <div class="form-group" :class="{&#39;has-error&#39;:errors.body}">
                <label>文章正文</label>
                <textarea name="body" class="form-control" rows="5" v-model="post.body">{{ old(&#39;body&#39;) }}</textarea>
                <!--如果验证失败通过FormError组件显示错误信息-->
                <form-error v-if="errors.body" :errors="errors">
                    @{{errors.body.join(&#39;,&#39;)}}
                </form-error>
            </div>
            <button type="submit" class="btn btn-primary">创建文章</button>
        </form>
    </div>
@endsection

Pour le moment, la page d'accès est vide car nous n'avons pas défini les variables de données liées à Vue. La vue de mise en page de layouts.app fait référence à app.js, et ce js est fourni par resources/assets/js/. app .js compilé, nous allons donc définir le code lié à Vue ici :

var app = new Vue({
    el: &#39;#app&#39;,
    data: {
        post: {
            title: &#39;&#39;,
            body: &#39;&#39;
        },
        errors: [],
        submitted: false
    },
    methods: {
        createPost: function () {
            var self = this;
            axios.post(&#39;/post/save&#39;, self.post).then(function(response) {
                // form submission successful, reset post data and set submitted to true
                self.post = {
                    title: &#39;&#39;,
                    body: &#39;&#39;,
                };
                // clear previous form errors
                self.errors = &#39;&#39;;
                self.submitted = true;
            }).catch(function (error) {
                // form submission failed, pass form  errors to errors array
                self.errors = error.response.data;
            });
        }
    }
});

Nous avons également vu une erreur de formulaire dans le fichier de vue, qui est en fait un sous-composant de Vue que nous pouvons créer. ce nouveau fichier de composant dans le répertoire resources/assets/js/components. Un exemple de fichier Sample.vue est fourni dans ce répertoire. On peut se référer à cet exemple pour écrire un nouveau FormError.vue :

<template>
    <span class="help-block">
        <slot></slot>
    </span>
</template>
<script>
    export default {
        props: [&#39;errors&#39;]
    }
</script>

Ici. nous transmettons les erreurs de données du composant parent au composant enfant pour afficher les informations d'erreur dans le composant enfant. Une fois que vous avez fini de créer le sous-composant, n'oubliez pas de l'introduire dans les ressources/assets/js/app.js ci-dessus :

Vue.component(&#39;form-error&#39;, require(&#39;./components/FormError.vue&#39;));

De cette façon, nous avons terminé tout le travail de codage, puis exécutez la commande suivante pour recompiler js :

npm run dev

Bien sûr, dans l'environnement de développement, nous préférons utiliser npm run watch Cette commande écoutera les modifications dans les fichiers de ressources frontaux, puis les recompilera. évitez la compilation manuelle après chaque modification.

De cette façon, lorsque vous accéderez à la page de publication/création dans le navigateur, elle s'affichera normalement :

Vue.js dans le framework laravel5.4 implémente la vérification des erreurs de soumission de formulaire Ajax

Ne remplissez rien, cliquez sur créer bouton, et la page sera Un message d'erreur peut être affiché :

Vue.js dans le framework laravel5.4 implémente la vérification des erreurs de soumission de formulaire Ajax

Après avoir rempli les champs correspondants puis soumis, il sera demandé que la création a réussi.

De cette façon, nous avons complété une simple fonction de vérification de soumission de formulaire Ajax basée sur Vue dans Laravel. Personnellement, je pense que cela a considérablement amélioré l'efficacité du développement

Recommandations associées :

<.>

Nouvelle fonctionnalité de messagerie de haut niveau de Laravel

Implémentation des fonctions d'autorisation utilisateur et de vérification des autorisations ACL dans le framework Laravel 5.1

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Comment construire une API RESTful avec des fonctionnalités avancées à Laravel?Comment construire une API RESTful avec des fonctionnalités avancées à Laravel?Mar 11, 2025 pm 04:13 PM

Cet article guide la construction d'API Robust Laravel Restful. Il couvre la configuration du projet, la gestion des ressources, les interactions de base de données, la sérialisation, l'authentification, l'autorisation, les tests et les meilleures pratiques de sécurité cruciale. Aborder l'évolutivité chall

La dernière méthode de l'installation de Laravel FrameworkLa dernière méthode de l'installation de Laravel FrameworkMar 06, 2025 pm 01:59 PM

Cet article fournit un guide complet pour installer le dernier cadre Laravel à l'aide du compositeur. Il détaille les conditions préalables, les instructions étape par étape, le dépannage des problèmes d'installation courants (version PHP, extensions, autorisations) et minimum

Gestion du menu Laravel-AdminGestion du menu Laravel-AdminMar 06, 2025 pm 02:02 PM

Cet article guide les utilisateurs de Laravel-Admin sur la gestion du menu. Il couvre la personnalisation du menu, les meilleures pratiques pour les grands menus (catégorisation, modularisation, recherche) et génération de menu dynamique en fonction des rôles et des autorisations utilisateur utilisant l'auteur de Laravel

Comment mettre en œuvre l'authentification et l'autorisation OAuth2 dans Laravel?Comment mettre en œuvre l'authentification et l'autorisation OAuth2 dans Laravel?Mar 12, 2025 pm 05:56 PM

Cet article détaille la mise en œuvre d'authentification et d'autorisation OAuth 2.0 dans Laravel. Il couvre à l'aide de packages comme les solutions de ligue / oauth2-serveur ou spécifiques au fournisseur, mettant l'accent sur la configuration de la base de données, l'enregistrement du client, la configuration du serveur d'autorisation

Quelle version de Laravel est la meilleureQuelle version de Laravel est la meilleureMar 06, 2025 pm 01:58 PM

Cet article guide les développeurs de Laravel dans le choix de la bonne version. Il souligne l'importance de sélectionner la dernière version de support à long terme (LTS) pour la stabilité et la sécurité, tout en reconnaissant que les versions plus récentes offrent des fonctionnalités avancées.

Comment puis-je créer et utiliser des règles de validation personnalisées dans Laravel?Comment puis-je créer et utiliser des règles de validation personnalisées dans Laravel?Mar 17, 2025 pm 02:38 PM

L'article discute de la création et de l'utilisation de règles de validation personnalisées dans Laravel, offrant des étapes pour les définir et les mettre en œuvre. Il met en évidence des avantages tels que la réutilisabilité et la spécificité et fournit des méthodes pour étendre le système de validation de Laravel.

Quelles sont les meilleures pratiques pour utiliser Laravel dans un environnement natif du cloud?Quelles sont les meilleures pratiques pour utiliser Laravel dans un environnement natif du cloud?Mar 14, 2025 pm 01:44 PM

L'article traite des meilleures pratiques pour déployer Laravel dans des environnements natifs du cloud, en se concentrant sur l'évolutivité, la fiabilité et la sécurité. Les problèmes clés incluent la conteneurisation, les microservices, la conception sans état et les stratégies d'optimisation.

Comment utiliser les composants de Laravel pour créer des éléments d'interface utilisateur réutilisables?Comment utiliser les composants de Laravel pour créer des éléments d'interface utilisateur réutilisables?Mar 17, 2025 pm 02:47 PM

L'article discute de la création et de la personnalisation des éléments d'interface utilisateur réutilisables dans Laravel à l'aide de composants, offrant les meilleures pratiques pour l'organisation et suggérant des packages améliorant.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

mPDF

mPDF

mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) ​​et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),