最近在工作中遇到了這個需求點擊確定時要將表格中的輸入框經(jīng)行校驗,記錄一下方便以后復(fù)用。
有兩種方式,第一種是提示的方式,
效果:輸入框為空的時候:
效果:點擊確定是進行校驗:?
?效果:
?代碼的思路是這樣的
data中需要定義一個用來標記的變量,名字是隨便起的.
data(){
return:{
value:''
}
}
下一步是在點擊確定時:對表格數(shù)組進行循環(huán)并判斷每一項是否為空,只要有一個為空就提示,并this.value++;沒有為空的時候,就將this.value置空。
list.forEach((item,index)=>{
if (item.'什么什么什么' === '' ||){
ElMessage({
showClose: true,
message: `提示:下列第 ${index+1} 行 請補充完整`,
type: 'warning',
})
this.value ++;
}else {
this.value = 0;
}
})
if (this.value === 0) {
'value等于0就表示數(shù)組中沒有為空的了'
}
第二種方式要比第一種更準確一點:
效果:驗證
源碼奉上:文章來源:http://www.zghlxwxcb.cn/news/detail-732309.html
<template>
<div>
<el-table :data="people" style="width: 100%">
<el-table-column prop="name" label="Name">
<template #default="{ row }">
<el-input v-model="row.name" @blur="validateName(row)" />
<span v-if="row.nameError" class="error">{{ row.nameError }}</span>
</template>
</el-table-column>
<el-table-column prop="age" label="Age">
<template #default="{ row }">
<el-input-number v-model="row.age" @change="validateAge(row)" :min="0" :max="150" />
<span v-if="row.ageError" class="error">{{ row.ageError }}</span>
</template>
</el-table-column>
</el-table>
<el-button type="primary" @click="validateForm">確定</el-button>
</div>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const people = ref([
{ name: "", age: "", nameError: "", ageError: "" },
{ name: "", age: "", nameError: "", ageError: "" },
{ name: "", age: "", nameError: "", ageError: "" }
]);
const validateName = (person) => {
if (!person.name) {
person.nameError = "Name is required.";
} else {
person.nameError = "";
}
};
const validateAge = (person) => {
if (!person.age) {
person.ageError = "Age is required.";
} else if (person.age < 0 || person.age > 150) {
person.ageError = "Age must be between 0 and 150.";
} else {
person.ageError = "";
}
};
const validateForm = () => {
let isValid = true;
for (let person of people.value) {
validateName(person);
validateAge(person);
if (person.nameError || person.ageError) {
isValid = false;
}
}
if (isValid) {
// 執(zhí)行提交表單的操作
console.log("表單校驗通過,執(zhí)行提交操作");
} else {
console.log("表單校驗未通過");
}
};
return {
people,
validateName,
validateAge,
validateForm
};
}
};
</script>
<style>
.error {
color: red;
}
</style>
有需求可以試試.文章來源地址http://www.zghlxwxcb.cn/news/detail-732309.html
到了這里,關(guān)于element ui中el-table-column進行自定義校驗的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!