国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

element-ui 表單校驗(yàn)?大全

這篇具有很好參考價(jià)值的文章主要介紹了element-ui 表單校驗(yàn)?大全。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

element-ui 官網(wǎng)

element-ui 表單校驗(yàn)的規(guī)則如下:文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-717939.html

<屬性名>: [
	{ 
		required: true,// 是否必填(若有l(wèi)abel則在其左上角顯示紅點(diǎn),否則不顯示必填標(biāo)志),可選。
		type: 'date',// 限制輸入的數(shù)據(jù)類型,可選。
		min: 3,// 當(dāng)輸入的是數(shù)值時(shí),限制輸入的最小值,可選。
		max: 5,// 當(dāng)輸入的是數(shù)值時(shí),限制輸入的最大值,可選。
		pattern: /^\d+\.\d+\.\d+$/,// 正則表達(dá)式,可選。
		message: "請(qǐng)使用 x.x.x 格式編號(hào)",// 錯(cuò)誤時(shí)提示信息,必須。
		trigger: ['change', 'blur']// 觸發(fā)校驗(yàn)的事件,必須。監(jiān)聽單一事件用字符串,監(jiān)聽多個(gè)事件用數(shù)組
	},
	// ...
]

1、對(duì)全部表單項(xiàng)的校驗(yàn)

<template>
<form ref="formRef" :model="form" :rules="rules" hide-required-asterisk class="base-form" :label-width="120">
	<el-form-item label="編碼:" prop="code">
		<el-input v-model="form.code" placeholder="請(qǐng)輸入編碼" clearable/>
	</el-form-item>
	<el-form-item label="地址" prop="address">
		<el-select v-model="form.address" placeholder="請(qǐng)選擇一個(gè)城市" clearable>
			<el-option label="上海" value="shanghai" />
			<el-option label="北京" value="beijing" />
		</el-select>
    </el-form-item>
	<el-form-item label="月份:" prop="moth">
		<el-input v-model="form.moth" placeholder="請(qǐng)輸入月份" clearable/>
	</el-form-item>
	<el-form-item label="日期" prop="date">
		<el-date-picker v-model="form.date" type="date" placeholder="請(qǐng)選擇日期" clearable/>
	</el-form-item>
	<el-form-item label="成員:" prop="members">
		<el-checkbox-group v-model="form.members">
        	<el-checkbox label="一號(hào)" name="members" />
        	<el-checkbox label="二號(hào)" name="members" />
        	<el-checkbox label="三號(hào)" name="members" />
		</el-checkbox-group>
    </el-form-item>
	<el-form-item label="手機(jī)號(hào):" prop="phone">
		<el-input v-model="form.phone" placeholder="請(qǐng)輸入手機(jī)號(hào)" clearable/>
	</el-form-item>
	<el-form-item>
		<el-button @click="submit(formRef)">保存</el-button>
    </el-form-item>
</form>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import type { FormInstance, FormRules } from 'element-plus'

const formRef = ref(null)

interface RuleForm {
    code: string
   	address: string
    moth: string | number
	date: Date | string
	members: string[]
	phone: string
}

const form = reactive<RuleForm>({
	code: '',
	address: '',
    moth: '',
	date: '',
	members: []
	phone: '',
})

// 表單校驗(yàn)
const rules = reactive<FormRules<RuleForm>>({
	// 失焦觸發(fā)校驗(yàn)
	code: [{ required: true, message: '請(qǐng)輸入編碼', trigger: 'blur' }],
	// 值改變時(shí)觸發(fā)校驗(yàn)
	address: [{ required: true, message: '請(qǐng)選擇一個(gè)城市', trigger: 'change' }],
	// 包含最大值和最小值
	moth: [
		{ required: true, message: '請(qǐng)輸入月', trigger: 'blur' },
		{ min: 1, max: 12, message: '請(qǐng)輸入1~12月中的一個(gè)', trigger: 'blur' },
	],
	// 帶類型的校驗(yàn) - 類型為日期
	date: [{ type: 'date', required: true, message: '請(qǐng)輸入日期', trigger: 'change' }],
	// 帶類型的校驗(yàn) - 類型為數(shù)組
	members: [{ type: 'array', required: true, message: '請(qǐng)選擇成員', trigger: 'change' }],
	// 帶正則表達(dá)式的校驗(yàn)
    phone: [
    	{ required: true, message: '請(qǐng)輸入手機(jī)號(hào)', trigger: 'blur' },
    	{ pattern: /^(13[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])[0-9]{8}$/, message: '請(qǐng)輸入正確的手機(jī)號(hào)', trigger: 'blur' },
    ],
})

// 提交 - 對(duì)整個(gè)表單進(jìn)行校驗(yàn)
const submit = async (formEl: FormInstance | undefined) => {
	if (!formEl) return
	await formEl.validate((valid, fields) => {
		if (valid) {
			console.log('submit!')
		} else {
			console.log('error submit!', fields)
		}
	})
}
</script>

2、校驗(yàn)指定字段

<template>
<form ref="formRef" class="base-form" :model="form" :label-width="120" :rules="rules" hide-required-asterisk>
	<el-form-item label="編碼:" prop="code">
		<el-input v-model="form.code" autocomplete="off" clearable @input="validateSelect" @keyup.enter="validateSelect"/>
	</el-form-item>
</form>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import type { FormInstance, FormRules } from 'element-plus'

const formRef = ref(null)

interface RuleForm {
    code: string
}

const form = ref<RuleForm>({
    code: '',
})

// 表單校驗(yàn)
const rules = reactive<FormRules<RuleForm>>({
    code: [{ required: true, message: '請(qǐng)?zhí)顚懢幋a', trigger: 'blur' }],,
})

// 校驗(yàn)指定字段
const validateSelect = () => {
	formRef.value!.validateField('selectValue')
}
</script>

3、自定義函數(shù)校驗(yàn)表單

<template>
<form ref="formRef" class="base-form" :model="form" :label-width="120" :rules="rules" hide-required-asterisk>
	<el-form-item label="手機(jī)號(hào):" prop="phoneNumber">
		<el-input v-model="form.phoneNumber" autocomplete="off" clearable/>
	</el-form-item>
</form>
</template>
<script setup lang="ts">
import { ref } from 'vue'
import type { FormInstance, FormRules } from 'element-plus'

const formRef = ref(null)

interface RuleForm {
    phoneNumber: string
}

const form = ref<RuleForm>({
    phoneNumber: '',
})

// 自定義校驗(yàn) - 手機(jī)號(hào)
const checkPhoneNumber = (rule: any, value: any, callback: any) => {
	const pattern = /^(13[0-9]|15[0-9]|17[0-9]|18[0-9]|19[0-9])[0-9]{8}$/
	if(!value) {
		callback(new Error('請(qǐng)輸入手機(jī)號(hào)'))
	} else if(!pattern.test(val)) {
		callback(new Error('請(qǐng)輸入正確的手機(jī)號(hào)'))
	} else {
		callback()
	}
}

// 表單校驗(yàn)
const rules = reactive<FormRules<RuleForm>>({
    phoneNumber: [{ validator: checkPhoneNumber, trigger: 'blur' }],,
})
</script>

4、一行內(nèi)多個(gè)輸入框的校驗(yàn)

<template>
<form ref="formRef" class="base-form" :model="form" :label-width="120" :rules="rules" hide-required-asterisk>
	<el-form-item class="form-row" label="測(cè)試:" prop="test">
        <section class="form-col">
            1 <el-input class="ml-5" v-model="form.test[0]" placeholder="第1項(xiàng)" clearable/>
        </section>
        <section class="form-col">
            2 <el-input class="ml-5" v-model="form.test[1]" placeholder="第2項(xiàng)" clearable/>
        </section>
    </el-form-item>
</form>
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import type { FormInstance, FormRules } from 'element-plus'

// 表單
const formRef = ref<FormInstance>()

interface RuleForm {
    test: string[]
}

const form = ref<RuleForm>({
    test: [],
})

const checkTest =  = (rule: any, value: any, callback: any) => {
    const [oneStr, twoEnd] = form.value.coordinate
    const pattern1 = /^[EWew]?[+-]?([0-9]|[1-8][0-9]|90)(\.\d+)?$/
    const pattern2 = /^[NSns]?[+-]?([0-9]|[1-9][0-9]|1[0-7][0-9]|180)(\.\d+)?$/

    if (oneStr && twoEnd && pattern1.test(oneStr) && pattern2.test(twoEnd)) {
        callback()
    } else {
    	!oneStr && !twoEnd && callback(new Error('請(qǐng)輸入所有項(xiàng)'))
	    !oneStr && callback(new Error('請(qǐng)輸入第1項(xiàng)'))
	    !twoEnd && callback(new Error('請(qǐng)輸入第2項(xiàng)'))
	    !(pattern1.test(oneStr)) && callback(new Error('請(qǐng)輸入正確的第1項(xiàng)'))
	    !(pattern2.test(twoEnd)) && callback(new Error('請(qǐng)輸入正確的第2項(xiàng)'))
	    !(pattern1.test(oneStr)) && !(pattern2.test(twoEnd)) && callback(new Error('請(qǐng)輸入正確的項(xiàng)'))
    }
}

const rules = reactive<FormRules<RuleForm>>({
    test: [{ validator: checkTest, trigger: 'blur' }],
})
</script>

到了這里,關(guān)于element-ui 表單校驗(yàn)?大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • element-ui的表單正則校驗(yàn)

    element-ui的表單正則校驗(yàn)

    ??????????竹憐新雨后,山愛(ài)夕陽(yáng)時(shí), 綿綿細(xì)雨, 也許會(huì)讓嘈雜的窗外煥然一新吧! 基本步驟-共三步 定義驗(yàn)證規(guī)則。data()中按格式定義規(guī)則 在模板上做屬性配置來(lái)應(yīng)用規(guī)則(三個(gè)配置) 給表單設(shè)置 rules 屬性傳入驗(yàn)證規(guī)則 給表單設(shè)置model屬性傳入表單數(shù)據(jù) 給表單項(xiàng)(

    2023年04月12日
    瀏覽(26)
  • element-ui 表單校驗(yàn) rules 配置

    指示type要使用的驗(yàn)證器??勺R(shí)別的類型值為: string :類型必須為 string 。 type ?默認(rèn)是? string。 number :類型必須為 number 。 boolean :類型必須為 boolean。 integer :類型必須為? number ?且為整數(shù)。 float :類型必須為? number ?且為浮點(diǎn)數(shù)。 array :類型必須為數(shù)組。 enum :值必須

    2024年02月04日
    瀏覽(29)
  • Vue Element-ui表單校驗(yàn)規(guī)則

    ??Element-ui表單校驗(yàn)規(guī)則,使得錯(cuò)誤提示可以直接在form-item下面顯示,無(wú)需彈出框,因此還是很好用的。 ??我在做了登錄頁(yè)面的表單校驗(yàn)后,一度以為我已經(jīng)很了解表單的校驗(yàn)規(guī)則。但我在深入使用表單校驗(yàn)規(guī)則時(shí),遇到下列問(wèn)題: 如何判斷屬性值是否在某個(gè)范圍內(nèi),且

    2024年02月03日
    瀏覽(30)
  • element-ui的form表單校驗(yàn)

    form表單校驗(yàn)基本三步: 1、定義驗(yàn)證規(guī)則 在data中定義表單校驗(yàn)規(guī)則,一個(gè)表單項(xiàng)可定義多條規(guī)則,表單項(xiàng)規(guī)則用數(shù)組,規(guī)則為對(duì)象,required為必須填寫,message為校驗(yàn)提示信息,trigger為校驗(yàn)時(shí)機(jī),可選blur和change,分別為失去焦點(diǎn)和數(shù)據(jù)變化;min/max為最小與最大字符個(gè)數(shù),v

    2024年02月11日
    瀏覽(27)
  • element-ui for循環(huán)生成表單時(shí),表單校驗(yàn)問(wèn)題

    element-ui for循環(huán)生成表單時(shí),表單校驗(yàn)問(wèn)題

    1、靜態(tài)生成的表單,校驗(yàn)規(guī)則是放在data中處理 2、動(dòng)態(tài)表單頁(yè)面,需要把規(guī)則放在el-form-item中,進(jìn)行校驗(yàn) 注意事項(xiàng): 當(dāng)使用v-for循環(huán)生成表單時(shí), :prop有格式要求 格式不對(duì)會(huì)報(bào)錯(cuò) :prop=“‘a(chǎn)ppraisalTempContent.’ + index + ‘.score’” 字段說(shuō)明: 1、appraisalTempContent=遍歷數(shù)組的k

    2024年02月16日
    瀏覽(27)
  • element-ui表單動(dòng)態(tài)添加必填校驗(yàn)

    element-ui表單動(dòng)態(tài)添加必填校驗(yàn)

    業(yè)務(wù)場(chǎng)景:根據(jù)form表單中的某些下拉框選中值,動(dòng)態(tài)切換一些屬性的必填校驗(yàn)。 效果圖: 當(dāng)活動(dòng)區(qū)域非必填時(shí),活動(dòng)名稱取消必填校驗(yàn),否則活動(dòng)名稱必填。

    2024年02月11日
    瀏覽(37)
  • element-ui表單校驗(yàn)不能同步結(jié)果的問(wèn)題

    element-ui表單校驗(yàn)不能同步結(jié)果的問(wèn)題

    多個(gè)表單遍歷時(shí),要依次獲取各個(gè)結(jié)果,但是往往拿不到最終結(jié)果 let flag=true this.$refs[‘form’].validate(valid={ flag=valid }) console.log(valid)//永遠(yuǎn)是true 提示:這里填寫問(wèn)題的分析: element文檔里描述了,validate方法參數(shù)為一個(gè)回調(diào)函數(shù),如果不傳則返回一個(gè)promise 我們可以在validate的

    2024年02月12日
    瀏覽(25)
  • element-ui form表單校驗(yàn) 失敗的原因

    element-ui form表單校驗(yàn) 失敗的原因

    1、沒(méi)有在el-form上指定model 2、el-form-item上的prop名稱不對(duì),應(yīng)當(dāng)與rules中的名稱一致; 3、綁定的屬性沒(méi)有在data中聲明; 4、特別重要的一點(diǎn)是ruleForm(數(shù)據(jù))和rules(校驗(yàn)規(guī)則)里面對(duì)應(yīng)的key一定要相同,一個(gè)是數(shù)據(jù)綁定的值 另外一個(gè)是值的規(guī)則。

    2024年02月11日
    瀏覽(24)
  • element-ui 表單校驗(yàn),el-select校驗(yàn)失效問(wèn)題

    form表單驗(yàn)證時(shí),遇到了校驗(yàn)失效問(wèn)題,有值的情況下,校驗(yàn)規(guī)則并沒(méi)有對(duì)應(yīng)消失,檢查了幾個(gè)容易出錯(cuò)的地方:1、:model=\\\"addForm\\\" 用model綁定表單,而不是v-model,沒(méi)問(wèn)題 2、需要添加校驗(yàn)的對(duì)應(yīng)字段,是否添加了prop屬性,ok沒(méi)問(wèn)題 3、檢查rules,里面校驗(yàn)提示的事件是否正確,發(fā)

    2024年02月11日
    瀏覽(30)
  • (el-Form)操作(不使用 ts):Element-plus 中 Form 表單組件校驗(yàn)規(guī)則等的使用

    (el-Form)操作(不使用 ts):Element-plus 中 Form 表單組件校驗(yàn)規(guī)則等的使用

    1、 Element-plus 提供 Form 表單組件情況: 其一、 Element-plus 自提供的 Form 代碼情況為(示例的代碼): 代碼地址( 直接點(diǎn)擊下面 url 跳轉(zhuǎn) ):https://element-plus.gitee.io/zh-CN/component/form.html#自定義校驗(yàn)規(guī)則 其二、頁(yè)面的顯示情況為: 2、目標(biāo)想修改后的情況: // 此時(shí)雖然頁(yè)面的樣式有些變

    2024年02月13日
    瀏覽(25)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包