admin管理员组文章数量:1130349
ele
背景
ele-ui使用表单验证,需要调用接口判断是否是重名,重名则停留在当前页,否则就进行到下一页。
存在问题
使用普通的validate
rules: {name: [{ required: true, trigger: ['blur', 'change'], message: '名称不能为空' },{ min: 1, max: 32, trigger: ['blur', 'change'], message: '名称最小长度1,最大长度32!' },{ pattern: /^(?=[a-z])([a-z0-9-]{0,31})([a-z0-9])$/, trigger: ['blur', 'change'], message: '名称格式错误' },{validator: (rule, value1, callback) => {let param = {name: value1}request('/url', 'GET', param).then((res) => {if (res.resultCode === 200) {callback(new Error('名称重复!'))} else {callback()}})},trigger: 'blur'}]}
校验代码
this.$refs.form.validate((valid) => {if (!valid) {isError = true}
})
运行时,失焦状态下可以报错,但是点击下一步,则会直接跳转;
打了断点看,下一步的操作已经执行,但是校验还没有返回;
解决方法
使用async await完美解决
async validateForm () {let valid = await this.$refs.form.validate().catch((err) => {return err})return valid
},
isError = this.validateForm()
则可以完美解决
ele
背景
ele-ui使用表单验证,需要调用接口判断是否是重名,重名则停留在当前页,否则就进行到下一页。
存在问题
使用普通的validate
rules: {name: [{ required: true, trigger: ['blur', 'change'], message: '名称不能为空' },{ min: 1, max: 32, trigger: ['blur', 'change'], message: '名称最小长度1,最大长度32!' },{ pattern: /^(?=[a-z])([a-z0-9-]{0,31})([a-z0-9])$/, trigger: ['blur', 'change'], message: '名称格式错误' },{validator: (rule, value1, callback) => {let param = {name: value1}request('/url', 'GET', param).then((res) => {if (res.resultCode === 200) {callback(new Error('名称重复!'))} else {callback()}})},trigger: 'blur'}]}
校验代码
this.$refs.form.validate((valid) => {if (!valid) {isError = true}
})
运行时,失焦状态下可以报错,但是点击下一步,则会直接跳转;
打了断点看,下一步的操作已经执行,但是校验还没有返回;
解决方法
使用async await完美解决
async validateForm () {let valid = await this.$refs.form.validate().catch((err) => {return err})return valid
},
isError = this.validateForm()
则可以完美解决
本文标签: ele
版权声明:本文标题:ele 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/IT/1693574062a230068.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论