diff --git a/src/views/sys/login/useLogin.ts b/src/views/sys/login/useLogin.ts index 78b73fc61..d13728e97 100644 --- a/src/views/sys/login/useLogin.ts +++ b/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(formRef: Ref) { +export function useFormValid(formRef: Ref) { + 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(formRef: Ref) { return data as T; } - return { validForm }; + return { validate, validForm }; } export function useFormRules(formData?: Recordable) {