vue+elementUI输入框调用接口校验
Posted 几何柒期
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue+elementUI输入框调用接口校验相关的知识,希望对你有一定的参考价值。
html: :rules="{required: true, message: \'请输入名称\',validator: valiDuplicate, trigger: \'blur\'}"
<el-form-item
label="名称"
prop="name"
class="is-required"
:rules="{required: true, message: \'请输入名称\',validator: valiDuplicate, trigger: \'blur\'}"
>
<el-input v-model="form.name" :readonly="readonly" :disabled="readonly" />
</el-form-item>
校验:
methods: { valiDuplicate(rule, val, callback) { this.duplicateCheck(val).then(res => { if (res.result) { callback() } else { if (val) { rule.message = \'该名称已存在!\' } callback(new Error()) } }) } }
校验进一步优化(空值不调用接口,避免频繁调用接口):
valiDuplicate(rule, val, callback) { // 如果没有输入任何东西,不调用接口 if (!val) { callback(new Error()) return false } this.duplicateCheck(val).then(canUse => { if (canUse) { callback() } else { rule.message = \'该疾病名称已存在!\' callback(new Error()) } }) },
调用接口
// 名称调用接口查重 duplicateCheck(name) { return new Promise(resolve => { // 关键 apiModel.duplicateCheck( { name: name, id: id } ).then(res => { if (res.code === HttpStatusCode.SUCCESS) { resolve(res) // 关键 } }) }) },
。
以上是关于vue+elementUI输入框调用接口校验的主要内容,如果未能解决你的问题,请参考以下文章
vue elementUI点击输入框弹出弹窗不允许输入框输入
使用ElementUI的@input,@change,@blur,@focus进行校验文本框的长度,提示还可以输入多少字