欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實(shí)現(xiàn)表單單獨(dú)移除一個(gè)字段驗(yàn)證

 更新時(shí)間:2022年03月21日 09:04:04   作者:friend_ship  
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表單單獨(dú)移除一個(gè)字段驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了vue實(shí)現(xiàn)表單單獨(dú)移除一個(gè)字段驗(yàn)證的具體代碼,供大家參考,具體內(nèi)容如下

下面的代碼以登錄功能為例。

功能描述: 用戶輸入密碼時(shí),失去焦點(diǎn)進(jìn)行密碼校驗(yàn),當(dāng)輸入有誤時(shí),顯示錯(cuò)誤提示信息;只要密碼值發(fā)生了變化,錯(cuò)誤提示信息就移除。

通過watch監(jiān)控password字段,實(shí)現(xiàn)實(shí)時(shí)移除。

vue2 模板語法代碼如下:

<template>
? ? <div>
? ? ? ? ?<el-form :model="form" :rules="rules" ref="form" label-width="140px">
? ? ? ? ? <el-form-item label="用戶名" prop="username">
? ? ? ? ? ?<el-input v-model="form.username" placeholder="請(qǐng)輸入用戶名"></el-input>
? ? ? ? ? </el-form-item>
? ? ? ? ? <el-form-item label="密碼" prop="password">
? ? ? ? ? ? <el-input type="password" v-model="form.password" placeholder="請(qǐng)輸入密碼"
? ? ? ? ? ? ></el-input>
? ? ? ? ? </el-form-item>
? ? ? ? ? <el-form-item>
? ? ? ? ? ? <el-button type="primary" @click="submit('form')">提交</el-button>
? ? ? ? ? ? <el-button @click="reset('form')">取消</el-button>
? ? ? ? ? </el-form-item>
? ? ? ? </el-form>
? ? <div>
</template>
<script>
export default {
? ? data() {
? ? ? ? let validatePwd ?= (rule, value, callback) => {
? ? ? ? ? ? // 密碼校驗(yàn)
? ? ? ? }
? ? ? ? return {
? ? ? ? ? ? form: {
? ? ? ? ? ? ? ? username: '',
? ? ? ? ? ? ? ? password: ''
? ? ? ? ? ? },
? ? ? ? ? ? ?rules: {
? ? ? ? ? ? ? ? username: [{ required: true, message: '請(qǐng)輸入用戶名', trigger: 'blur'}],
? ? ? ? ? ? ? ? password: [{ required: true, validator: validatePwd, trigger: 'blur'}]
? ? ? ? ? ? }
? ? ? ? }
? ? },
? ? watch: {
? ? ? ? 'form.password'(newVal, oldVal) {
? ? ? ? ? ? if(newVal, oldVal) {
? ? ? ? ? ? ? ? ? this.$refs['form'].clearValidate('password');
? ? ? ? ? ? }
? ? ? ? }
? ? }
?
}
</script>

vue2+composition-api 使用tsx語法開發(fā),代碼如下:

service.ts

export const initFormState = {
? ? username: '',
? ? password: ''
}
?
const validatePwd = (rule, value, callback) => {
? ? // 密碼校驗(yàn)
}
?
export const formStateRules = {
? ? username: [
? ? ? ? { required: true, message: '請(qǐng)輸入用戶名', trigger: 'blur'}
? ? ],
? ? password: [
? ? ? ? { required: true, validator: validatePwd, trigger: 'blur'}
? ? ]
}

index.tsx文件

import { onMounted, reactive, ref, watch } from "@vue/composition-api";
import { initFormState} from './service.ts';
?
export default defineComponent({
? ? setup (prop,{root}) {
? ? ?
? ? ? ? const formState= reactive({
? ? ? ? ? ? ...initFormState, // 從service引入進(jìn)來
? ? ? ? })
?
? ? ? ? const formRef = ref(null);
? ? ? ??
? ? ? ? const submit = () ?=> {
? ? ? ? ? ? // 表單校驗(yàn)
? ? ? ? ? ? const formValidate = await new Promise(resolve => {
? ? ? ? ? ? ? ? (formRef as any).value.validate((valid: boolean) => resolve(valid));
? ? ? ? ? ? });
?
? ? ? ? ? ? if(!formValidate) return;
? ? ? ? ? ? // 表單校驗(yàn)通過后進(jìn)行的邏輯
? ? ? ? }
?
? ? ? ? const reset = () => {
? ? ? ? ? ? ?Object.keys(formState).map((key: string) => formState[key] = (initFormState as any)[key]);
? ? ? ? }
? ??
? ? ? ? // 監(jiān)控password, 按需移除錯(cuò)誤提示信息
? ? ? ?watch(() => formState.password, ()=> {
? ? ? ? ? ?const result = formState.password;
? ? ? ? ? ? if(result) {
? ? ? ? ? ? ? ? (formRef as any).value.clearValidate('password')
? ? ? ? ? ? }
? ? ? ? })
? ? ? ? return {
? ? ? ? ? ? formState,
? ? ? ? ? ? formRef,
? ? ? ? ? ? formStateRules,
? ? ? ? ? ? submit,
? ? ? ? ? ? reset
? ? ? ? }
? ??
? ? },
? ? render() {
? ? ? ? return (
? ? ? ? ? ? <div>
? ? ? ? ? ? ? ? <el-form?
? ? ? ? ? ? ? ? ? ? ref="formRef"?
? ? ? ? ? ? ? ? ? ? form={this.formState}?
? ? ? ? ? ? ? ? ? ? props={{model: this.formState}}
? ? ? ? ? ? ? ? ? ? rules={formStateRules} ?label-width="140px">
? ? ? ? ? ? ? ? ? <el-form-item label="用戶名" prop="username">
? ? ? ? ? ? ? ? ? ? ? ?<el-input v-model={this.formState.username} placeholder="請(qǐng)輸入用戶名"></el-input>
? ? ? ? ? ? ? ? ? </el-form-item>
? ? ? ? ? ? ? ? ? <el-form-item label="密碼" prop="password">
? ? ? ? ? ? ? ? ? ? <el-input type="password" v-model={this.formState.password} placeholder="請(qǐng)輸入密碼"></el-input>
? ? ? ? ? ? ? ? ? </el-form-item>
? ? ? ? ? ? ? ? ? <el-form-item>
? ? ? ? ? ? ? ? ? ? <el-button type="primary" onClick={this.submit}>提交</el-button>
? ? ? ? ? ? ? ? ? ? <el-button onClick={this.reset}>取消</el-button>
? ? ? ? ? ? ? ? ? </el-form-item>
? ? ? ? ? ? ? ? </el-form>
? ? ? ? ? ? </div>
? ? ? ? )
? ? }
?
})

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在vue中如何使用Mock.js模擬數(shù)據(jù)

    在vue中如何使用Mock.js模擬數(shù)據(jù)

    這篇文章主要介紹了在vue中如何使用Mock.js模擬數(shù)據(jù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Vue路由router詳解

    Vue路由router詳解

    這篇文章主要介紹了vue router 配置路由的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2021-10-10
  • vue中組件之間相互通信傳值的幾種方法詳解

    vue中組件之間相互通信傳值的幾種方法詳解

    這篇文章主要為大家詳細(xì)介紹了vue中組件之間相互通信傳值的幾種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • vue.js中ref及$refs的使用方法解析

    vue.js中ref及$refs的使用方法解析

    這篇文章主要介紹了vue.js中ref及$refs的使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • Vue el-upload單圖片上傳功能實(shí)現(xiàn)

    Vue el-upload單圖片上傳功能實(shí)現(xiàn)

    這篇文章主要介紹了Vue el-upload單圖片上傳功能實(shí)現(xiàn),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-11-11
  • vue router 路由跳轉(zhuǎn)方法講解

    vue router 路由跳轉(zhuǎn)方法講解

    這篇文章主要介紹了vue router 路由跳轉(zhuǎn)方法概述,使用到Vue的項(xiàng)目,我們最常見使用的就是Vue配套的Vue Router庫,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下
    2022-12-12
  • vue實(shí)現(xiàn)簡(jiǎn)單分頁功能

    vue實(shí)現(xiàn)簡(jiǎn)單分頁功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)簡(jiǎn)單分頁功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue引用BootStrap以及引用bootStrap-vue.js問題

    vue引用BootStrap以及引用bootStrap-vue.js問題

    這篇文章主要介紹了vue引用BootStrap以及引用bootStrap-vue.js問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue中template模板編譯的過程全面剖析

    vue中template模板編譯的過程全面剖析

    這篇文章主要介紹了vue中template模板編譯的過程全面剖析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue3組合式API中使用forwardRef()函數(shù)

    Vue3組合式API中使用forwardRef()函數(shù)

    本文主要介紹了Vue3組合式API中使用forwardRef()函數(shù),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06

最新評(píng)論