userRules: {
username: [
{ required: true, message: '请输入新的用户名称', trigger: 'blur' },
{ min: 1, max: 20, message: '用户名的长度不得超过20个字符', trigger: 'blur' },
{ validator: validateName, trigger: 'blur' }
],
password: [
{ required: true, message: '请设置登录密码', trigger: 'blur' },
{ min: 6, max: 15, message: '长度在 6 到 15 个字符', trigger: 'blur' }
],
confirmPassword: [
{ required: true, message: '请确认登录密码', trigger: 'blur' },
{ min: 6, max: 15, message: '长度在 6 到 15 个字符', trigger: 'blur' },
{ validator: validatePass, trigger: 'blur' }
],
console日志已经打印'该名称已经被使用',但是输入框没有任何反应:
是validator里面不能用后端api调用吗?
var validateName = (rule, value, callback) => {
console.log('validateName,value:', value)
if (value === '') {
callback(new Error('请输入新的用户名称'));
} else {
apiUserNameExists(value)
.then(response => {
console.log('validateName,response:', response)
if (response.data.exists) {
console.log('该名称已经被使用')
callback(new Error('该名称已经被使用!'));
}
})
.catch((err) => {
console.log(err)
})
callback();
}
};