Vue編寫登錄注冊頁面前端校驗

登錄注冊校驗

template頁面

 <div class="app-login"><!--登錄  --><div class="form"><el-form ref="form" size="large" autocomplete="off" v-if="isLogin" :model="registerData" :rules="rules"label-width="120px"><el-form-item><h1>登錄</h1></el-form-item><el-form-item label="用戶名" prop="username"><el-input :suffix-icon="Wicon" maxlength="5" :prefix-icon="User"  v-model="registerData.username" type="username" autocomplete="off" /></el-form-item><el-form-item label="密碼" prop="password"><el-input :suffix-icon="Wicon2" maxlength="8" :prefix-icon="Lock" show-password v-model="registerData.password" type="password" autocomplete="off" /></el-form-item><div class="bt"><el-form-item><el-button type="primary" @click="submitForm(ruleFormRef)">登錄</el-button><el-button @click="resetForm()">重置</el-button><el-button @click="isLogin = false">去注冊</el-button></el-form-item></div></el-form><!--注冊  --><el-form ref="form" size="large" autocomplete="off" v-else :model="registerData" :rules="rules" label-width="120px"><el-form-item><h1>注冊</h1></el-form-item><el-form-item label="賬戶" prop="username"><el-input :prefix-icon="User" maxlength="5" :suffix-icon="Wicon" v-model="registerData.username" type="username"autocomplete="off" /></el-form-item><el-form-item label="密碼" prop="password"><el-input :prefix-icon="Lock" :suffix-icon="Wicon2"  maxlength="8" show-password v-model="registerData.password" type="password"autocomplete="off" /></el-form-item><el-form-item label="確認密碼" prop="repassword"><el-input :prefix-icon="Lock" :suffix-icon="Wicon3" maxlength="8"  show-password   v-model="registerData.repassword" type="password"autocomplete="off" /></el-form-item><div class="bt"><el-form-item><el-button type="primary" @click="submitForm(ruleFormRef)">注冊</el-button><el-button @click="resetForm()">重置</el-button><el-button @click="isLogin = true">去登錄</el-button></el-form-item></div></el-form></div></div>

script

import { User, Lock, CircleCheck, CircleCloseFilled } from '@element-plus/icons-vue'
import { ref } from 'vue'
// 默認是登錄
const isLogin = ref(true)
const registerData = ref({username: '',password: '',repassword: ''
})
// 圖標
const Wicon = ref('')
const Wicon2 = ref('')
const Wicon3 = ref('')// 用戶名自定義校驗icon
const checkicon = (rule, value, callback) => {if (registerData.value.username.length >= 2 && registerData.value.username.length <= 8) {Wicon.value = CircleCheck}else if(registerData.value.username.length === 0){Wicon.value = CircleCloseFilledcallback(new Error("請輸入用戶名"))} else {Wicon.value = CircleCloseFilledcallback(new Error("用戶名需2到8位"))}
}
// 密碼自定義校驗
const checkicon2 = (rule, value, callback) => {if (registerData.value.password.length >= 4 && registerData.value.password.length <= 8) {Wicon2.value = CircleCheck} else if(registerData.value.password.length === 0){Wicon2.value = CircleCloseFilledcallback(new Error("請輸入密碼"))}  else {Wicon2.value = CircleCloseFilledcallback(new Error("密碼需4到8位"))}
}// 校驗確認密碼函數
const checkPassword = (rule, value, callback) => {if (registerData.value.repassword == '') {Wicon3.value= CircleCloseFilledcallback(new Error("請輸入確認密碼"))} else if (registerData.value.repassword !== registerData.value.password) {Wicon3.value = CircleCloseFilledcallback(new Error("兩次密碼不一致"))} else {Wicon3.value = CircleCheckcallback()}
}
// 定義表單校驗規則
const rules = {username: [{ required: true, validator: checkicon,trigger: 'change' }],password: [{ required: true, validator: checkicon2, trigger: 'change' }],repassword: [{ validator: checkPassword, trigger: 'change' }]}
// 清空函數
const resetForm = (value) => {registerData.value.username = '';registerData.value.password = '';registerData.value.repassword = '';
}

css部分,個人審美較差。

.app-login {border-radius: 30px;height: 500px;width: 500px;display: flex;justify-content: space-around;align-items: flex-start;flex-direction: column-reverse;border: 2px solid #ccc;padding: 8px;margin: -200px;// background-image: url(https://p4.itc.cn/q_70/images03/20230308/8f6053ee5e6348febfda49f7c31ebdf6.jpeg);// background-repeat: no-repeat;// background-size: cover;font-family: "Helvetica Neue"
}h1 {padding-left: 80px;margin-bottom: 20px;
}.form {padding: 20px;flex: 2;display: flex;flex-direction: column;align-items: center;justify-content: center;
}.bt {margin-top: 50px;
}

效果圖

在這里插入圖片描述
在這里插入圖片描述
本文是自己的學習雜記,自己對前端Vue+elementUi+的練習。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/536772.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/536772.shtml
英文地址,請注明出處:http://en.pswp.cn/news/536772.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

FXCM福匯官網:深入解析BOLL指標的喇叭口形態及含義

BOLL指標是一種通過布林線&#xff08;Bollinger Bands&#xff09;的上軌線、中軌線和下軌線的相互關系來判斷市場趨勢和波動性的技術分析工具。BOLL指標的喇叭口形態包括開口型、收口型和緊口型&#xff0c;它們各自具有獨特的含義。 《FXCM福匯官網開戶》 1. 開口型喇叭口…

cesium實現二三維聯動

記錄項目中實現二三維地圖聯動 效果如下&#xff1a; 第一步&#xff1a;現在頁面中加載二三維地圖&#xff08;地圖的初始化已省略&#xff09; <template><div><div><button click"show">二三維聯動</button></div><div&…

Go Web 編程

Go Web 編程 更新于 1年前 一步步帶你進入 Go Web 編程的世界,讓我們開始探索吧! 文檔類型:系統文檔 文章統計:96 篇,字數 12.52 萬,點贊 508 文章列表所有討論 基本信息 關于本書 第一章. Go 環境配置 01.0. Go 環境配置 01.1. 安裝 Go 01.2. GOPATH 與工作空間 …

經典文獻閱讀之--RenderOcc(使用2D標簽訓練多視圖3D Occupancy模型)

0. 簡介 3D占據預測在機器人感知和自動駕駛領域具有重要的潛力&#xff0c;它將3D場景量化為帶有語義標簽的網格單元。最近的研究主要利用3D體素空間中的完整占據標簽進行監督。然而&#xff0c;昂貴的注釋過程和有時模糊的標簽嚴重限制了3D占據模型的可用性和可擴展性。為了解…

[HADOOP]數據傾斜的避免和處理

避免數據傾斜 初始設計方面&#xff1a; 設計階段考慮數據分布&#xff0c;并盡可能確保數據均勻分布。 預處理數據&#xff1a; 在數據加載到 Hadoop 之前進行預處理&#xff0c;以減少傾斜。使用抽樣或統計方法來了解數據分布特征&#xff0c;并據此調整。 使用合適的Partiti…

EtherCAT主站SOEM -- 11 -- EtherCAT從站 XML 文件解析

EtherCAT主站SOEM -- 11 -- EtherCAT從站 XML 文件解析 1 EtherCAT 從站信息規范1.1 XML 文件說明1.1.1 XML 數據類型1.1.2 EtherCATInfo1.1.3 Groups1.1.4 Devices1.1.5 Modules1.1.6 Types1.1.6.1 AccessType 的組成1.1.6.2 ArraylnfoType 的組成1.1.6.3 DeviceType 的組成1.…

Mendelson AS2 介紹下載和配置

最近與一家國外公司做EDI對接&#xff0c;并且EDI通訊工具是基于AS2協議的。目前開源的as2的開源項目有openas2,Mendelson AS2&#xff0c;和國人寫的freeas2但是&#xff0c;現在freeas2已經被從開源中國不能下載了&#xff0c;變為收費的版本了。 如果你需要使用基于AS2協議…

動態規劃、DFS 和回溯算法:二叉樹問題的三種視角

動態規劃、DFS 和回溯算法&#xff1a;二叉樹問題的三種視角 在計算機科學中&#xff0c;算法是解決問題的核心。特別是對于復雜的問題&#xff0c;不同的算法可以提供不同的解決方案。在本篇博客中&#xff0c;我們將探討三種算法&#xff1a;動態規劃、深度優先搜索&#xf…

掌握常用Docker命令,輕松管理容器化應用

Docker是一個開源的應用容器引擎&#xff0c;它可以讓開發者將應用程序及其依賴打包到一個輕量級、可移植的容器中&#xff0c;然后發布到任何流行的Linux機器或Windows機器上&#xff0c;也可以實現虛擬化。容器是完全使用沙箱機制&#xff0c;相互之間不會有任何接口。下面介…

Python基礎(九、重要的全局變量)

文章目錄 全局變量是什么&#xff1f;引用全局變量修改全局變量注意事項結語 全局變量是什么&#xff1f; 首先&#xff0c;全局變量是在函數外部定義的變量&#xff0c;它可以在程序的任何地方被訪問。就好像一家人共用的盤子&#xff0c;隨手可以拿來用&#xff0c;但也可能…

智能倉儲管理系統設計與實現

智能倉儲管理系統設計與實現 第一章 緒論 1.1 設計背景 物聯網&#xff08;英文&#xff1a;Internet of Things&#xff0c;縮寫&#xff1a;IoT&#xff09;是萬物相連的互聯網&#xff0c;即把所有物品通過信息傳感設備與互聯網連接起來&#xff0c;以實現智能化識別、定位、…

【Unity入門】NGUI和UGUI比較

目錄 NGUI組件比較多&#xff0c;比較常用的有UGUI組件比較少&#xff0c;比較常用的有NGUI和UGUI比較 現在主流項目中基本上都是NGUI和UGUI&#xff0c;那么到底選哪個&#xff0c;我們先來做個比較 圖集處理功能比較 NGUI需要使用工具手動拼接圖片成圖集。 UGUI開發期間可以直…

Java網絡爬蟲拼接姓氏,名字并寫出到txt文件(實現隨機取名)

目錄 1.爬取百家姓1.爬取代碼2.爬取效果 2.爬取名字1.篩選男生名字2.篩選女生名字 3.數據處理&#xff08;去除重復&#xff09;4.拼接數據5.將數據寫出到文件中 1.爬取百家姓 目標網站&#xff0c;僅作為實驗目的。 ①爬取姓氏網站&#xff1a; https://hanyu.baidu.com/shic…

小狐貍ChatGPT系統 H5前端底部菜單導航文字修改方法

小狐貍ChatGPT系統后端都前端都是編譯過的&#xff0c;需要改動點什么非常難處理&#xff0c;開源版修改后也需要編譯后才能使用&#xff0c;大部分會員也不會使用&#xff0c;像簡單的修改下底部菜單文字、圖標什么的可以對照處理。這里以小狐貍ChatGPT系統1.9.2版本H5端為例&…

JWT signature does not match locally computed signature

1. 問題背景 最近在協助團隊小盆友調試一個驗簽問題&#xff0c;結果還“節外生枝”了&#xff0c;原來不是簽名過程的問題&#xff0c;是token的問題。 當你看到“JWT signature does not match locally computed signature. JWT validity cannot be asserted and should not…

多維時序 | MATLAB實CNN-Mutilhead-Attention卷積神經網絡融合多頭注意力機制多變量時間序列預測

多維時序 | MATLAB實CNN-Mutilhead-Attention卷積神經網絡融合多頭注意力機制多變量時間序列預測 目錄 多維時序 | MATLAB實CNN-Mutilhead-Attention卷積神經網絡融合多頭注意力機制多變量時間序列預測預測效果基本介紹模型描述程序設計參考資料 預測效果 基本介紹 多維時序 | …

異或運算^簡述

異或運算&#xff1a;^ 兩個變量之間異或運算時&#xff0c;其二進制位相同取0&#xff0c;不同取1. 示例&#xff1a;a10 (0b 0000 1010) b3 (0b 0000 0011) a^b9(0b 0000 1001) 據此可以推算異或運算"^"有以下特性&#xff1a; a^a0 (0b 0000 0000)…

python使用apscheduler定時任務,固定周幾運行程序

在add_job中添加參數day_of_week即可&#xff1a; day_of_week "0"表示&#xff1a;只有周一運行day_of_week "0-4"表示&#xff1a;周一到周五運行day_of_week "0,1,2"表示&#xff1a;周一二三運行 示例程序 from datetime import datet…

IDEA基本設置

本博客適用于純新手小白&#xff0c;或者剛下載IDEA想要優化開發添加配置的讀者。 基礎設置 滾輪調整字體大小 打開 IntelliJ IDEA。 轉到菜單欄中的 “File” -> “Settings”&#xff08;Windows/Linux&#xff09;或 “IntelliJ IDEA” -> “Preferences”&#xff…

2024年 Kubernetes 四大趨勢預測

Kubernetes 在生產環境中的復雜性已經成為常態&#xff0c;在2023年這個平臺工程盛行的時代&#xff0c;容器管理的最大亮點可能在于其靈活性&#xff0c;然而在運維政策和治理等方面仍然存在諸多挑戰。Kubernetes 最大的吸引力之一在于其可擴展性和跨環境的廣泛用例。但是&…