ホームページ ウェブフロントエンド Vue.js Vue でフォームの検証と送信を実装する方法

Vue でフォームの検証と送信を実装する方法

Oct 15, 2023 am 11:14 AM
フォームの検証 フォームの送信 vueプログラミング

Vue でフォームの検証と送信を実装する方法

Vue でフォームの検証と送信を実装する方法

Web 開発では、フォームはユーザーが Web ページと対話するための重要なインターフェイスです。データの合法性と完全性を保証するには、フォーム内のユーザーの検証と送信が必要です。 Vue.js は、便利なフォーム検証および送信方法を提供する人気のフロントエンド フレームワークであり、フォーム機能を迅速に実装できるようになります。この記事では、Vue.js を使用してフォームの検証と送信を実装する方法を紹介し、具体的なコード例を示します。

1. フォーム検証

  1. インストールvee-validateプラグイン

Vue.js は強力なフォーム検証を提供しますプラグイン vee-validate、まず、npm を通じてプラグインをインストールする必要があります。

npm install vee-validate
ログイン後にコピー
  1. main.js にプラグインを導入します

プロジェクトの main.js ファイルにプラグインを導入し、登録しますそれ。

import Vue from 'vue';
import VeeValidate from 'vee-validate'; // 引入vee-validate插件

Vue.use(VeeValidate); // 注册插件
ログイン後にコピー
  1. フォームに検証ルールを追加
<template>
  <form @submit.prevent="submitForm">
    <div class="form-group">
      <label for="name">姓名</label>
      <input type="text" v-model="name" v-validate="'required'" name="name">
      <span v-show="errors.has('name')">{{ errors.first('name') }}</span>
    </div>
    <div class="form-group">
      <label for="email">邮箱</label>
      <input type="email" v-model="email" v-validate="'required|email'" name="email">
      <span v-show="errors.has('email')">{{ errors.first('email') }}</span>
    </div>
    <button type="submit">提交</button>
  </form>
</template>
ログイン後にコピー

上記のサンプル コードでは、2 つの入力ボックスにそれぞれ v-validate# を追加しました。命令。 v-validate コマンドは、検証ルールを指定し、| で複数の検証ルールを分割するために使用されます。ここでは、名前を required (空にすることはできません) に設定し、電子メール アドレスを required および email (空にすることはできず、電子メールに含める必要があります) に設定します。フォーマット 。 errors.has('name') および errors.first('name') を使用して、検証エラー情報を検出して表示します。

    フォームを確認して送信
  1. <script>
    export default {
      data() {
        return {
          name: '',
          email: ''
        };
      },
      methods: {
        submitForm() {
          this.$validator.validateAll().then(result => {
            if (result) {
              // 表单校验通过,提交表单
              // 这里可以调用API进行数据提交
              console.log('表单提交成功');
            }
          });
        }
      }
    };
    </script>
    ログイン後にコピー
上記のコードでは、

methods メソッドで submitForm を定義しました。ユーザーが送信ボタンをクリックするとトリガーされます。 submitForm メソッドでは、this.$validator.validateAll() を通じてフォーム全体を検証し、Promise オブジェクトを返します。検証に合格すると、Promise は true を返し、コールバック関数でフォームを送信できます。

2. フォームの送信

フォームの検証に合格したら、フォームを送信できます。ここでは、

axios ライブラリを使用して HTTP リクエストを送信します。まず、npm 経由で axios をインストールする必要があります。

npm install axios
ログイン後にコピー

次に、Vue コンポーネントに axios を導入し、submitForm メソッドを変更します。

import axios from 'axios';

// ...

methods: {
  submitForm() {
    this.$validator.validateAll().then(result => {
      if (result) {
        // 表单校验通过,提交表单
        axios.post('/api/submit', {
          name: this.name,
          email: this.email
        }).then(response => {
          console.log('表单提交成功');
        }).catch(error => {
          console.error('表单提交失败', error);
        });
      }
    });
  }
}
ログイン後にコピー
上記のコードでは、axios を使用して POST リクエストを

/api/submit## に送信します。 # インターフェイスを作成し、フォーム データをリクエスト本文として送信します。成功コールバック関数で 'フォーム送信成功' を出力し、失敗コールバック関数でエラー情報を出力します。 3. まとめ

上記の手順により、Vue.js と VeeValidate プラグインを使用してフォームの検証と送信機能を実装しました。検証ルールと送信インターフェースを設定するだけで、フォームプロセス全体が簡単に完了します。 Vue.js は豊富なフォーム処理機能を提供しており、Web 開発に大きな利便性をもたらします。

もちろん、上記のコードは単なる基本的な例であり、実際の開発では、より複雑な検証および送信ロジックが存在する可能性がありますが、原則は同じです。 Vue.js のフォーム機能を合理的に使用することで、開発効率を向上させ、データの合法性と完全性を確保し、ユーザーにより良いインタラクティブなエクスペリエンスを提供することができます。

以上がVue でフォームの検証と送信を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Lauiuiログインページでジャンプを設定する方法 Lauiuiログインページでジャンプを設定する方法 Apr 04, 2024 am 03:12 AM

Layui ログインページジャンプ設定手順: ジャンプコードの追加: ログインフォーム送信ボタンクリックイベントに判定を追加し、ログイン成功後、window.location.href 経由で指定ページにジャンプします。フォーム構成を変更します。lay-filter="login" のフォーム要素に非表示の入力フィールドを追加します。名前は「redirect」、値はターゲット ページ アドレスです。

Lauiuiでフォームデータを取得する方法 Lauiuiでフォームデータを取得する方法 Apr 04, 2024 am 03:39 AM

layui は、フォームのすべてのフィールド データを直接取得する、単一のフォーム要素の値を取得する、formAPI.getVal() メソッドを使用して指定されたフィールド値を取得する、フォーム データをシリアル化するなど、フォーム データを取得するためのさまざまなメソッドを提供します。これを AJAX リクエスト パラメータとして使用し、フォーム送信イベントをリッスンしてデータを取得します。

Lauiui でフロントエンドとバックエンドのインタラクションを実装する方法 Lauiui でフロントエンドとバックエンドのインタラクションを実装する方法 Apr 01, 2024 pm 11:33 PM

layui を使用したフロントエンドとバックエンドの対話には次のメソッドがあります。 $.ajax メソッド: 非同期 HTTP リクエストを簡素化します。カスタム リクエスト オブジェクト: カスタム リクエストの送信を許可します。フォーム コントロール: フォームの送信とデータの検証を処理します。アップロード制御: ファイルのアップロードを簡単に実装します。

Javaにおけるサーバーレットの役割は何ですか Javaにおけるサーバーレットの役割は何ですか Apr 12, 2024 pm 02:39 PM

サーブレットは、Java Web アプリケーションにおけるクライアント/サーバー通信のブリッジとして機能し、クライアント要求の処理、HTTP 応答の生成、Web コンテンツの動的生成、顧客との対話への応答、HTTP セッション状態の管理、およびセキュリティ保護の提供を行います。

vueのeventと$eventの違い vueのeventと$eventの違い May 08, 2024 pm 04:42 PM

Vue.js では、event はブラウザによってトリガーされるネイティブ JavaScript イベントですが、$event は Vue コンポーネントで使用される Vue 固有の抽象イベント オブジェクトです。 $event はデータ バインディングをサポートするようにフォーマットおよび拡張されているため、一般に $event を使用する方が便利です。ネイティブ イベント オブジェクトの特定の機能にアクセスする必要がある場合は、event を使用します。

PHP を使用してシングルページ アプリケーションを構築する方法 PHP を使用してシングルページ アプリケーションを構築する方法 May 04, 2024 pm 06:21 PM

PHP を使用してシングルページ アプリケーション (SPA) を構築する手順: PHP ファイルを作成し、Vue.js をロードします。 Vue インスタンスを定義し、テキスト入力と出力テキストを含む HTML インターフェイスを作成します。 Vue コンポーネントを含む JavaScript フレームワーク ファイルを作成します。 JavaScript フレームワーク ファイルを PHP ファイルに含めます。

Java Servlet のアプリケーション シナリオは何ですか? Java Servlet のアプリケーション シナリオは何ですか? Apr 17, 2024 am 08:21 AM

JavaServlet は、1. 動的コンテンツの生成、2. データのアクセスおよび処理、4. ファイルのアップロード、6. フィルター、およびその他の用途に使用できます。例: フォームの送信を処理する FormSubmitServlet を作成し、名前と電子メールをパラメータとして受け取り、success.jsp にリダイレクトします。

vue のイベント修飾子はどのようなシナリオに使用できますか? vue のイベント修飾子はどのようなシナリオに使用できますか? May 09, 2024 pm 02:33 PM

Vue.js イベント修飾子は、次のような特定の動作を追加するために使用されます。 デフォルト動作の防止 (.prevent) イベント バブリングの停止 (.stop) ワンタイム イベント (.once) イベントのキャプチャ (.capture) パッシブ イベント リスニング (.passive) アダプティブ修飾子 (.self)キー修飾子 (.key)

See all articles