vue2项目中对el-table表格中对输入框字段进行校验
时间: 2024-03-27 09:38:54 浏览: 63
在 Vue2 中对 `el-table` 表格中的输入框字段进行校验,可以使用自定义校验规则和事件处理函数来实现。以下是一个简单的示例:
```html
<el-table :data="tableData">
<el-table-column prop="name" label="姓名">
<template slot-scope="scope">
<el-input v-model="scope.row.name" @blur="validateName(scope.row)" :error="scope.row.nameError"></el-input>
</template>
</el-table-column>
<el-table-column prop="age" label="年龄">
<template slot-scope="scope">
<el-input v-model.number="scope.row.age" @blur="validateAge(scope.row)" :error="scope.row.ageError"></el-input>
</template>
</el-table-column>
</el-table>
```
在上面的示例中,我们使用了 `el-input` 组件作为表格中的输入框,并通过 `v-model` 指令绑定到表格数据中的相应字段。同时,我们还为输入框绑定了 `blur` 事件,用于在输入框失去焦点时进行校验。
接下来,我们需要在 Vue 实例中定义校验规则和事件处理函数:
```javascript
export default {
data() {
return {
tableData: [
{ name: '', age: '' },
{ name: '', age: '' }
]
}
},
methods: {
validateName(row) {
if (!row.name) {
row.nameError = '姓名不能为空'
} else {
row.nameError = ''
}
},
validateAge(row) {
if (!row.age) {
row.ageError = '年龄不能为空'
} else if (isNaN(row.age) || row.age < 0 || row.age > 150) {
row.ageError = '年龄必须是0到150之间的数字'
} else {
row.ageError = ''
}
}
}
}
```
在上面的示例中,我们分别定义了 `validateName` 和 `validateAge` 两个事件处理函数,用于对姓名和年龄字段进行校验。在这两个函数中,我们根据字段的值进行不同的校验操作,并将校验结果保存到表格数据中的 `nameError` 和 `ageError` 字段中。表格数据中的 `error` 属性可以用于控制输入框下方的错误提示信息。
阅读全文