Parcourir la source

fix: async validator (#3194)

bowen il y a 1 an
Parent
commit
405ef9e2b3

+ 3 - 1
src/views/demo/form/RuleForm.vue

@@ -192,10 +192,12 @@
           message: '请输入数据',
         },
         {
+          trigger: 'blur',
           validator(_, value) {
             return new Promise((resolve, reject) => {
+              if (!value) return resolve();
               isAccountExist(value)
-                .then(() => resolve())
+                .then(resolve)
                 .catch((err) => {
                   reject(err.message || '验证失败');
                 });

+ 3 - 1
src/views/demo/system/account/account.data.ts

@@ -89,10 +89,12 @@ export const accountFormSchema: FormSchema[] = [
         message: '请输入用户名',
       },
       {
+        trigger: 'blur',
         validator(_, value) {
           return new Promise((resolve, reject) => {
+            if (!value) return resolve();
             isAccountExist(value)
-              .then(() => resolve())
+              .then(resolve)
               .catch((err) => {
                 reject(err.message || '验证失败');
               });