Vue implementiert eine kleine Formularvalidierungsfunktion

Vue implementiert eine kleine Formularvalidierungsfunktion

In diesem Artikelbeispiel wird der spezifische Code von Vue zur Implementierung der Formularvalidierung zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt

1. Routensprung

Öffnen Sie zunächst das src-Verzeichnis im Vue-Projekt, um die Router-Datei zu konfigurieren. Verwenden Sie dann import, um den Namen Ihrer Formularseite anzuzeigen und die Routing-Tabelle in Ihrer Router-Instanz zu registrieren. Der Code lautet wie folgt

importiere „Erstellen“ aus „@/views/create/create.vue“;

//Der erste Buchstabe des angezeigten Namens sollte groß geschrieben werden. Das folgende Verzeichnis ist das Verzeichnis, in dem sich Ihre Formularseite befindet. @ ist die Abkürzung von .., was bedeutet, dass Sie zur vorherigen Ebene zurückkehren. const router = new Router ({
Modus: „Verlauf“//Dies ist der Routenmodus. Routen: [
{
      Pfad: "/create", //Standard ist /. Bei mehreren Pfaden ist es / plus der Pfadname: "create",
      Komponente: Erstellen,
      Titel: "Formular",
    },
]
})

Denken Sie nach der Konfiguration der Routing-Tabelle daran, die Option „To“ Ihres Router-Link-Tags auf der Homepage zu konfigurieren.

<router-link :to="{ name: 'create' }" class="collection">Formular</router-link>

Dann die Formularseite

Rendern

Der Funktionsimplementierungscode lautet wie folgt

Das Plugin verwendet element.ui. Sie können npm i element-ui im ​​Terminal verwenden. Überprüfen Sie es nach erfolgreicher Installation in package.json und verweisen Sie in main.js darauf

Nachdem die Installation abgeschlossen ist, können Sie es verwenden.

<Vorlage>
  <div Klasse="erstellen">
    <h2>Willkommen zur Veröffentlichung eines neuen Rezepts. Bitte stellen Sie zuerst Ihr Meisterwerk vor! </h2>
    <Abschnitt Klasse="Erstellen-Einführen">
      <h5>Titel</h5>
 
      <el-Eingabe
        v-Modell="backData.title"
        Klasse="Eingabe erstellen"
        Platzhalter="Bitte Inhalt eingeben"
      ></el-Eingabe>
      <h5>Attribute</h5>
      <div>
        <el-Auswahl
          v-for="Element in Eigenschaften"
          :Schlüssel="Artikel.übergeordneter_Name"
          :Platzhalter="Artikel.übergeordneter_Name"
          v-Modell = "backData.Eigenschaft[Element.Titel]"
        >
          <el-Option
            v-for="Option in Artikelliste"
            :Schlüssel="Option.Typ"
            :label="Optionsname"
            :Wert="Option.Typ"
          >
          </el-Option>
        </el-Auswahl>
      </div>
      <h5>Rezeptkategorien</h5>
      <div>
        <el-select placeholder="Bitte wählen Sie die Rezeptkategorie" v-model="backData.classify">
          <el-Optionsgruppe
            v-for="Gruppe in Klassen"
            :Schlüssel="Gruppe.übergeordneter_Typ"
            :label="Gruppe.übergeordneter_Name"
          >
            <el-Option
              v-for="Element in Gruppenliste"
              :Schlüssel="Artikeltyp"
              :label="Artikelname"
              :Wert="Artikeltyp"
            >
            </el-Option>
          </el-Optionsgruppe>
        </el-Auswahl>
      </div>
      <h5>Bild des fertigen Produkts (328*440)</h5>
      <div Klasse="Upload-Img-Box Clearfix">
        <div Klasse="Hochladen-Bild">
          <Bild hochladen
            Aktion="/api/upload?Typ=Produkt"
            :img-url="backData.produkt_bild_url"
            @res-url="
              (Daten) => {
                zurückDaten, (Produktbild-URL = data.res);
              }
            "
          ></upload-img>
        </div>
        <el-Eingabe
          Klasse = "Text einführen"
          Typ="Textbereich"
          :Zeilen="10"
          Platzhalter="Bitte Inhalt eingeben"
        >
        </el-Eingabe>
      </div>
    </Abschnitt>
 
    <h2>Erfassen Sie alle Rohstoffe</h2>
    <Abschnitt Klasse="Erstellen-Einführen">
      <h5>Hauptzutaten</h5>
      <!--[ { "name": "", "specs": "" }, { "name": "", "specs": "" }, { "name": "", "specs": "" } ]-->
      <Stuff v-model="backData.Rohmaterial.Hauptmaterial"></Stuff>
      <h5>Zubehör</h5>
      <Stuff v-model="backData.raw_material.accessories_material"></Stuff>
    </Abschnitt>
 
    <h2>Beginnen Sie, die Schritte aufzuschreiben! Ob es leicht zu lernen ist, hängt davon ab, wie Sie es schreiben. Viel Glück! </h2>
    <Abschnitt Klasse="Erstellen-Einführen">
      <Hochladen v-for="(item, index) in 3" :key="index"></Hochladen>
      <el-Schaltfläche
        Klasse = "eaeaea-Hinzufügeschritt-Schaltfläche"
        Typ="primär"
        Größe="mittel"
        Symbol="el-icon-plus"
        @click="hinzufügen"
        >Einen Schritt hinzufügen</el-button
      >
      <h5>Kochtipps</h5>
      <el-Eingabe
        Klasse = "Einführungstext"
        Typ="Textbereich"
        :Zeilen="8"
        placeholder="Teilen Sie Ihre Erfahrungen und Tipps zur Zubereitung dieses Gerichts!"
      >
      </el-Eingabe>
    </Abschnitt>
 
    <el-button Klasse="senden" Typ="primär" Größe="mittel" :icon="Symbol"
      >Fertig, zur Überprüfung absenden</el-button
    >
  </div>
</Vorlage>
<Skript>
importiere Sachen aus "./stuff";
Upload von "./step-upload" importieren;
importiere UploadImg von "@/components/upload-img";
importiere { getProperty, getClassify, publish } von "@/service/api";
 
const Rohmaterialstruktur = {
  Name: "",
  Spezifikationen: "",
};
Standard exportieren {
  Name: "erstellen",
  Komponenten: { Stuff, Upload, UploadImg },
  Daten() {
    zurückkehren {
      zurückDaten: {
        Titel: "",
        Eigentum: {},
        klassifizieren: "",
        Produktbild-URL: "",
        Produktgeschichte: "",
        Rohmaterial: {
          Rohmaterial: Array(3)
            .füllen(1)
            .map(() => ({ ...Rohmaterialstruktur })),
          Zubehörmaterial: Array(3)
            .füllen(1)
            .map(() => ({ ...Rohmaterialstruktur })),
        },
      },
      Eigenschaften: [],
      klassifiziert: [],
    };
  },
  montiert() {
    getProperty().then(({ data }) => {
      konsole.log(Daten);
      this.propertyies = Daten;
      this.backData.property = data.reduce((o, item) => {
        o[Artikeltitel] = "";
        Rückkehr o;
      }, {});
      // konsole.log(Daten);
      // konsole.log(diese.backData.Eigenschaft)
    });
    getClassify().then(({ Daten }) => {
      konsole.log(Daten);
      this.classifies = Daten;
    });
  },
  Methoden: {
    hinzufügen() {
      konsole.log(1);
    },
  },
};
</Skript>
<style lang="stylus">
 
 
.erstellen-einführen
  Hintergrundfarbe #fff
  Polsterung 20px
 
 
  .Schritt-hinzufügen-Schaltfläche
    Rand links 100px
 
 
.erstellen
  Breite 100%
  h2
    Text zentriert ausrichten
    Rand 20px 0
  .schicken
    // ff3232()
    Höhe: 70px;
    Breite: 220px;
    Hintergrund #ff3232
    Farbe #fff
    Grenze keine
    Rand 20px automatisch
    Anzeigeblock
 
  h5
    Rand 20px 0
 
 
.create-input Eingabe
  Breite 446px
  Zeilenhöhe 22px
.Bildbox hochladen
  .Bild hochladen
    nach links schweben
  .Einführungstext
    nach links schweben
  .el-Textbereich
    Breite 60%
    Rand links 10px
</Stil>

Oben geht es ausschließlich um das Vue-Formular.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Wissen Sie wirklich, wie man eine Vue-Formularvalidierung durchführt? Vue-Formularvalidierung (Formular) validieren
  • Detaillierte Erklärung zur Verwendung von Vue Validator, einem Vue-Formularvalidierungs-Plugin
  • Bei der Formularvalidierung von Vue ElementUI sind Probleme aufgetreten
  • Vue+elementUI implementiert ein Beispiel für eine Formular- und Bild-Upload- und Überprüfungsfunktion
  • Validierungsmethode für Formularelemente in einer V-For-Schleife bei Verwendung der Elementkomponente in Vue
  • Vue implementiert schnell eine universelle Formularvalidierungsfunktion
  • Implementierung der Vue Elementui-Formularvalidierung
  • Vue verwendet Element-UI, um die Formularvalidierung zu implementieren
  • Vue implementiert eine Formularvalidierungsfunktion
  • Vue implementiert ein Formular, um eine Feldvalidierung separat zu entfernen

<<:  So stellen Sie mit Docker ein einfaches C/C++-Programm bereit

>>:  mysql implementiert den Import nur einer angegebenen Tabelle aus der SQL-Datei der exportierten Daten

Artikel empfehlen

So legen Sie die UTF-8-Kodierung in einer MySQL-Datenbank fest

Ändern Sie die Datei /etc/my.cnf oder /etc/mysql/...

Vue implementiert ein einfaches Einkaufswagenbeispiel

In diesem Artikel wird der spezifische Code von V...

So verwenden Sie mysqldump für vollständige und zeitpunktbezogene Sicherungen

Mysqldump wird für logische Backups in MySQL verw...

Docker erstellt MySQL-Erklärung

1. MySQL-Image herunterladen Befehl: docker pull ...

MySQL-Datenbankoptimierung: Indeximplementierungsprinzip und Nutzungsanalyse

Dieser Artikel veranschaulicht anhand von Beispie...

Analyse von Beispielen für MySQL-Benutzerverwaltungsvorgänge

Dieser Artikel beschreibt die MySQL-Benutzerverwa...

Zusammenfassung der Blockelemente, Inline-Elemente und variablen Elemente

Blockelement p - Absatz Text vorformatieren Tisch ...

So melden Sie sich unter Shell schnell ohne Kennwort bei der MySQL-Datenbank an

Hintergrund Wenn wir uns über den MySQL-Client in...

Einführung und Beispiele für versteckte Felder in HTML

Grundlegende Syntax: <Eingabetyp="versteck...

Schnelles Verständnis des Vue-Routing-Navigationsschutzes

Inhaltsverzeichnis 1. Globale Wache 1. Globale Fr...

Verwendung und Demonstration von ref in Vue

Ref-Definition: Wird verwendet, um Referenzinform...

So implementieren Sie Web-Stresstests mit Apache Bench

1. Einführung in Apache Bench ApacheBench ist ein...