html部分
<el-form-item label="表名:" prop="tableName">
<el-input prop="tableName"
v-model="formInline.tableName"
clearable //后面清空符号
>
</el-input>
</el-form-item>
script部分
data() {
// 表单验证
var checkValueNameIfExist = (rule, value, callback) => {
if (value) {
this.validateHas(value); //验证方法
}
callback();
};
//验证
rules: {
//验证规则中添加 validator: checkValueNameIfExist 失去焦点验证 trigger: "blur"
tableName: [
{ trigger: "blur", validator: checkValueNameIfExist },
],
},
}
// methods 方法中
// head表单重名验证 验证tableName是否唯一
validateHas(value) {
//从后台接口获取数据,把tableName传过去,如果result不为空则存在
getOnlyTable(this.formInline.tableName) //接口调取
.then((res) => {
if (res.result === -1 && this.$route.query.flag === "add") { //新增时验证
this.$message.error("名称已存在");
}
})
.catch((err) => {
console.log(err);
});
},