Kaynağa Gözat

feat<useLogin>: original Form.validate (#2535)

luocong2016 2 yıl önce
ebeveyn
işleme
a4a5a44009
1 değiştirilmiş dosya ile 9 ekleme ve 4 silme
  1. 9 4
      src/views/sys/login/useLogin.ts

+ 9 - 4
src/views/sys/login/useLogin.ts

@@ -1,5 +1,5 @@
-import type { ValidationRule } from 'ant-design-vue/lib/form/Form';
-import type { RuleObject } from 'ant-design-vue/lib/form/interface';
+import type { ValidationRule, FormInstance } from 'ant-design-vue/lib/form/Form';
+import type { RuleObject, NamePath } from 'ant-design-vue/lib/form/interface';
 import { ref, computed, unref, Ref } from 'vue';
 import { useI18n } from '/@/hooks/web/useI18n';
 
@@ -27,7 +27,12 @@ export function useLoginState() {
   return { setLoginState, getLoginState, handleBackLogin };
 }
 
-export function useFormValid<T extends Object = any>(formRef: Ref<any>) {
+export function useFormValid<T extends Object = any>(formRef: Ref<FormInstance>) {
+  const validate = computed(() => {
+    const form = unref(formRef);
+    return form?.validate ?? ((_nameList?: NamePath) => Promise.resolve());
+  });
+  
   async function validForm() {
     const form = unref(formRef);
     if (!form) return;
@@ -35,7 +40,7 @@ export function useFormValid<T extends Object = any>(formRef: Ref<any>) {
     return data as T;
   }
 
-  return { validForm };
+  return { validate, validForm };
 }
 
 export function useFormRules(formData?: Recordable) {