Vue でログインと登録テンプレートを実装するためのサンプルコード

Vue でログインと登録テンプレートを実装するためのサンプルコード

テンプレート 1:

ログイン.vue

<テンプレート>
	<p class="ログイン">
		<el-tabs v-model="アクティブ名" @tab-click="ハンドルクリック">
			<el-tab-pane label="ログイン" name="first">
				<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
					<el-form-item label="名前" prop="名前"><el-input v-model="ruleForm.name"></el-input></el-form-item>
 
					<el-form-item label="パスワード" prop="pass"><el-input type="password" v-model="ruleForm.pass" auto-complete="off"></el-input></el-form-item>
 
					<el-form-item>
						<el-button type="primary" @click="submitForm('ruleForm')">ログイン</el-button>
 
						<el-button @click="resetForm('ruleForm')">リセット</el-button>
					</el-form-item>
				</el-form>
			</el-tab-pane>
 
			<el-tab-pane label="登録" name="second">
				<登録></登録>
			</el-tab-pane>
		</el-tabs>
	</p>
</テンプレート>
 
<スクリプト>
'@/components/register' からレジスタをインポートします。
 
エクスポートデフォルト{
	データ() {
		var validPass = (ルール、値、コールバック) => {
			(値 === '')の場合{
				callback(new Error('パスワードを入力してください'));
			} それ以外 {
				if (this.ruleForm.checkPass !== '') {
					this.$refs.ruleForm.validateField('checkPass');
				}
 
				折り返し電話();
			}
		};
 
		戻る {
			アクティブ名: 'first',
			ルールフォーム: {
				名前: ''、
				合格: ''、
				チェックパス: ''
			},
			ルール:
				名前: [{ 必須: true、メッセージ: '名前を入力してください'、トリガー: 'ぼかし' }、{ 最小: 2、最大: 5、メッセージ: '長さは 2 文字から 5 文字の間でなければなりません'、トリガー: 'ぼかし' }]、
				パス: [{ 必須: true、バリデータ: validPass、トリガー: 'blur' }]
			}
		};
	},
 
	メソッド: {
		//タブ切り替え handleClick(tab, event) {},
		//フォームをリセットする resetForm(formName) {
			this.$refs[フォーム名].resetFields();
		},
		//フォームを送信する submitForm(formName) {
			this.$refs[formName].validate(valid => {
				(有効)の場合{
					this.$メッセージ({
						タイプ: '成功'、
						メッセージ: 「ログインに成功しました」
					});
					this.$router.push('home');
				} それ以外 {
					console.log('送信エラー!!');
					false を返します。
				}
			});
		}
	},
	コンポーネント:
		登録する
	}
};
</スクリプト>
 
<スタイル lang="scss">
。ログイン {
	幅: 400ピクセル;
	マージン: 0 自動;
}
 
.el-tabitem {
	テキスト配置: 中央;
	幅: 60ピクセル;
}
</スタイル>

登録.vue

//コンポーネントを登録する <テンプレート>
	<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
		<el-form-item label="ユーザー名" prop="名前"><el-input v-model="ruleForm.name"></el-input></el-form-item>
		<el-form-item label="パスワード" prop="pass"><el-input type="password" v-model="ruleForm.pass" auto-complete="off"></el-input></el-form-item>
		<el-form-item label="パスワードの確認" prop="checkPass"><el-input type="password" v-model="ruleForm.checkPass" auto-complete="off"></el-input></el-form-item>
		<el-form-item>
			<el-button type="primary" @click="submitForm('ruleForm')">登録</el-button>
			<el-button @click="resetForm('ruleForm')">リセット</el-button>
		</el-form-item>
	</el-form>
</テンプレート>
 
<スクリプト>
エクスポートデフォルト{
	データ() {
		var validPass = (ルール、値、コールバック) => {
			(値 === '')の場合{
				callback(new Error('パスワードを入力してください'));
			} それ以外 {
				if (this.ruleForm.checkPass !== '') {
					this.$refs.ruleForm.validateField('checkPass');
				}
				折り返し電話();
			}
		};
 
		var validPass2 = (ルール、値、コールバック) => {
			(値 === '')の場合{
				callback(new Error('パスワードをもう一度入力してください'));
			} そうでない場合 (値 !== this.ruleForm.pass) {
				callback(new Error('2回入力されたパスワードが一致しません!'));
			} それ以外 {
				折り返し電話();
			}
		};
 
		戻る {
			アクティブ名: 'second',
			ルールフォーム: {
				名前: ''、
				合格: ''、
				チェックパス: ''
			},
			ルール:
				名前: [{ 必須: true、メッセージ: '名前を入力してください'、トリガー: 'ぼかし' }、{ 最小: 2、最大: 5、メッセージ: '長さは 2 文字から 5 文字の間でなければなりません'、トリガー: 'ぼかし' }]、
				パス: [{ 必須: true、バリデータ: validPass、トリガー: 'blur' }],
				checkPass: [{ 必須: true、バリデータ: validatorPass2、トリガー: 'blur' }]
			}
		};
	},
 
	メソッド: {
		送信フォーム(フォーム名) {
			this.$refs[formName].validate(valid => {
				(有効)の場合{
					this.$メッセージ({
						タイプ: '成功'、
						メッセージ: 「登録が完了しました」
					});
					// this.activeName: 'first',
				} それ以外 {
					console.log('送信エラー!!');
					false を返します。
				}
			});
		},
 
		resetForm(フォーム名) {
			this.$refs[フォーム名].resetFields();
		}
	}
};
</スクリプト>

レンダリング

テンプレート 2:

ログイン.vue

<テンプレート>
  <el-row type="flex" justify="center">
   <el-form ref="formData" :model="formData" :rules="rules" label-width="80px" @keyup.enter.native="login()">
    <el-form-item prop="userName" label="ユーザー名"><el-input v-model="formData.userName" placeholder="ユーザー名を入力してください" prefix-icon="icon-login_user" clearable></el-input></el-form-item>
    <el-form-item prop="password" label="パスワード"><el-input v-model="formData.password" placeholder="パスワードを入力してください" type="password" prefix-icon="icon-login_pwd" clearable></el-input></el-form-item>
    </el-form-item>
    <el-form-item><el-button type="primary" class="btn" @click="login('formData')" icon="el-icon-upload">ログイン</el-button>
     <el-button @click="resetForm('formData')">リセット</el-button></el-form-item></el-form-item>
     <router-link to="register">パスワードがありませんか?登録</router-link>
   </el-form>
  </el-row>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
 データ() {
  戻る {
   フォームデータ: {
    ユーザー名: ''、
    パスワード: ''
   },
   ルール:
    ユーザー名: [{ 必須: true、メッセージ: 'ユーザー名は空にできません'、トリガー: 'blur' }]、
    パスワード: [{ 必須: true、メッセージ: 'パスワードは空欄にできません'、トリガー: 'blur' }]
   }
  };
 },
 メソッド: {
  ログイン(フォーム名) {
 
    this.$refs[formName].validate(valid => {
				(有効)の場合{
					this.$メッセージ({
						タイプ: '成功'、
						メッセージ: 「ログインに成功しました」
          });
           this.$router.push({name:'home'});
				} それ以外 {
					console.log('送信エラー!!');
					false を返します。
				}
			});
  },
   resetForm(フォーム名) {
			this.$refs[フォーム名].resetFields();
		}
 }
};
</スクリプト>

登録.vue

<テンプレート>
  <el-row type="flex" justify="center">
   <el-form ref="formData" :model="formData" :rules="rules" label-width="80px" @keyup.enter.native="register()">
    <el-form-item prop="userName" label="ユーザー名"><el-input v-model="formData.userName" placeholder="ユーザー名を入力してください" prefix-icon="icon-login_user" clearable></el-input></el-form-item>
    <el-form-item prop="password" label="パスワード"><el-input v-model="formData.password" placeholder="パスワードを入力してください" type="password" prefix-icon="icon-login_pwd" clearable></el-input></el-form-item>
    <el-form-item prop="cheackPassword" label="パスワードの確認"><el-input v-model="formData.cheackPassword" placeholder="パスワードをもう一度入力" type="password" prefix-icon="icon-login_pwd" clearable></el-input></el-form-item>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="register('formData')" icon="el-icon-upload">登録</el-button>
      <el-button @click="resetForm('formData')">リセット</el-button></el-form-item>
     <router-link to="login">すでにパスワードをお持ちですか?ログイン</router-link>
 
   </el-form>
  </el-row>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
 データ() {
   var validPass = (ルール、値、コールバック) => {
			(値 === '')の場合{
				callback(new Error('パスワードをもう一度入力してください'));
			} そうでない場合 (値 !== this.formData.password) {
				callback(new Error('2回入力されたパスワードが一致しません!'));
			} それ以外 {
				折り返し電話();
			}
		};
 
  戻る {
   フォームデータ: {
    ユーザー名: ''、
    パスワード: ''、
    パスワードを確認してください:''
   },
   ルール:
    ユーザー名: [{ 必須: true、メッセージ: 'ユーザー名は空にできません'、トリガー: 'blur' }]、
    パスワード: [{ 必須: true、メッセージ: 'パスワードは空欄にできません'、トリガー: 'blur' }]、
    checkPassword: [{ 必須: true、検証: v​​alidator: validPass、トリガー: 'blur' }]
 
   }
  };
 },
 メソッド: {
  登録(フォーム名) {
   this.$refs[formName].validate(valid => {
				(有効)の場合{
					this.$メッセージ({
						タイプ: '成功'、
						メッセージ: 「登録が完了しました」
          });
           this.$router.push({name:'login'});
				} それ以外 {
					console.log('送信エラー!!');
					false を返します。
				}
			});
  },
  resetForm(フォーム名) {
			this.$refs[フォーム名].resetFields();
		}
 
 }
};
</スクリプト>

レンダリング

これで、ログインと登録テンプレートを実装するための Vue のサンプルコードに関するこの記事は終了です。Vue ログインと登録テンプレートの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue 学習ロード ログイン登録サンプルコード
  • Vue.jsは、ユーザーコメント、ログイン、登録、情報変更機能を実装します。
  • vueログイン登録例の詳しい説明
  • Vue に登録してログイン状態を維持する方法
  • アカウントとパスワードを記憶する機能を実現するVueの考え方とプロセス

<<:  Dockerはbusyboxを使用してベースイメージを作成します

>>:  MySQLで重複データを削除する詳細な例

推薦する

Web デザインにおける HTML フォーマットと長いファイルに関するヒント

<br />関連記事: Web コンテンツ ページ作成に関する 9 つの実用的な提案、W...

Centos7 DockerでNginxファイルを変更するプロセスの詳細な説明

1. docker に nginx をインストールします。 docker に Nginx をインスト...

アップロード画像コントロールを実現するネイティブ js

この記事の例では、アップロード画像コントロールを実装するためのjsの具体的なコードを参考までに共有し...

MySQL の遅いクエリとクエリ再構築方法の記録

序文スロークエリとは何か、またスロークエリを最適化するにはどうすればよいか。以下では、これら 2 つ...

SQL IDENTITY_INSERT ケーススタディ

一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿...

MySQL でデータ復旧に binlog を使用する方法

序文最近、オンラインでデータが誤って操作されました。データベースが直接変更されたため、それを回復する...

SQLのさまざまな結合サマリーの詳細な説明

SQL 左結合、右結合、内部結合、自然結合 さまざまな結合の概要SQL には、左結合、右結合、内部結...

49 個の JavaScript のヒントとコツ

目次1. js整数の演算2. ネイティブアラートを書き換えてポップアップボックスの数を記録する3. ...

同じドメイン名を持つ Nginx プロキシのフロントエンドとバックエンドの分離プロジェクトの完全な手順

フロントエンド プロジェクトとバックエンド プロジェクトは分離されており、フロントエンドとバックエン...

MySQLがlocalhost経由でデータベースに接続できない問題に対する完璧な解決策

問題:あるサーバー上の PHP プログラムは、localhost アドレス経由でデータベースに接続で...

MySQL 8.0.21 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.21のインストールと設定方法を記録してみんなで共有します。 1. ダウンロード1...

MySQLトランザクションとMySQLログの詳細な説明

取引特性1. アトミック性: トランザクションの開始後、すべての操作が完了するか、まったく実行されな...

フロントエンド プロジェクトのデフォルトのスクロール バー スタイルを変更する (概要)

スクロールバーのデフォルトスタイルを変更する必要があるプロジェクトを多数作成しましたが、プラグインを...

MySQL の重要なパフォーマンス インデックスの計算と最適化方法の概要

1 QPS 計算 (1 秒あたりのクエリ数) MyISAMエンジンベースのDBの場合 MySQL&g...

衝突検出を実装するためのjs

この記事の例では、衝突検出を実装するためのjsの具体的なコードを参考までに共有しています。具体的な内...