<el-table-column label="字段名称" width="120" align="center" key="name" prop="name" sortable>
name: [
{ required: true, trigger: 'change', validator: validateName },
{
min: 1,
max: 200,
message: `字段名称长度在 1 到 200 个字符`,
trigger: 'change',
pattern:'' !== 'VALI_DATE'
},
{
pattern: /(^_([a-zA-Z0-9]_?)*$)|(^[a-zA-Z](_?[a-zA-Z0-9])*_?$)/,
message: '字段名称首位可以是字母以及下划线。首位之后可以是字母、数字以及下划线。下划线后不能接下划线',
trigger: 'change'
}
]
data里边进行定义一个 箭头函数
data() {
const validateName = (rule, value, callback) => {
if (value === '' || value === null) {
callback(new Error('字段名称不能为空'))
} else {
let count = 0
this.dataSource.map(item => {
// if (item.name.toLowerCase() === value.toLowerCase() && item.deletedBy !== 2) {
// this.Keyfieldjudgment.forEach(items => {
// if (
// items.toLowerCase() === value.toLowerCase() &&
// items.toLowerCase() === item.name.toLowerCase()
// ) {
// count++
// }
// })
// }
if (item.name.toLowerCase() === value.toLowerCase() &&
item.deletedBy !== 2) {
count++
}
})
if (count > 1) {
callback(new Error('字段名称不能重复'))
} else {
callback()
}
}
}