Skip to content

Commit b448d00

Browse files
committed
Export a formErrorsInjectionKey
1 parent a32cc37 commit b448d00

File tree

3 files changed

+6
-5
lines changed

3 files changed

+6
-5
lines changed

src/runtime/components/Form.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export interface FormSlots {
6767
import { provide, inject, nextTick, ref, onUnmounted, onMounted, computed, useId, readonly, reactive } from 'vue'
6868
import { useEventBus } from '@vueuse/core'
6969
import { useAppConfig } from '#imports'
70-
import { formOptionsInjectionKey, formInputsInjectionKey, formBusInjectionKey, formLoadingInjectionKey } from '../composables/useFormField'
70+
import { formOptionsInjectionKey, formInputsInjectionKey, formBusInjectionKey, formLoadingInjectionKey, formErrorsInjectionKey } from '../composables/useFormField'
7171
import { tv } from '../utils/tv'
7272
import { validateSchema } from '../utils/form'
7373
import { FormValidationException } from '../types/form'
@@ -150,7 +150,7 @@ onUnmounted(() => {
150150
})
151151
152152
const errors = ref<FormErrorWithId[]>([])
153-
provide('form-errors', errors)
153+
provide(formErrorsInjectionKey, errors)
154154
155155
const inputs = ref<{ [P in keyof I]?: { id?: string, pattern?: RegExp } }>({})
156156
provide(formInputsInjectionKey, inputs as any)

src/runtime/components/FormField.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ import { computed, ref, inject, provide, useId } from 'vue'
5151
import type { Ref } from 'vue'
5252
import { Primitive, Label } from 'reka-ui'
5353
import { useAppConfig } from '#imports'
54-
import { formFieldInjectionKey, inputIdInjectionKey } from '../composables/useFormField'
54+
import { formFieldInjectionKey, inputIdInjectionKey, formErrorsInjectionKey } from '../composables/useFormField'
5555
import { tv } from '../utils/tv'
5656
import type { FormError, FormFieldInjectedOptions } from '../types/form'
5757
@@ -65,7 +65,7 @@ const ui = computed(() => tv({ extend: tv(theme), ...(appConfig.ui?.formField ||
6565
required: props.required
6666
}))
6767
68-
const formErrors = inject<Ref<FormError[]> | null>('form-errors', null)
68+
const formErrors = inject<Ref<FormError[]> | null>(formErrorsInjectionKey, null)
6969
7070
const error = computed(() => props.error || formErrors?.value?.find(error => error.name && (error.name === props.name || (props.errorPattern && error.name.match(props.errorPattern))))?.message)
7171

src/runtime/composables/useFormField.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import type { InjectionKey, Ref, ComputedRef } from 'vue'
33
import { useDebounceFn } from '@vueuse/core'
44
import type { UseEventBusReturn } from '@vueuse/core'
55
import type { FormFieldProps } from '../types'
6-
import type { FormEvent, FormInputEvents, FormFieldInjectedOptions, FormInjectedOptions } from '../types/form'
6+
import type { FormErrorWithId, FormEvent, FormInputEvents, FormFieldInjectedOptions, FormInjectedOptions } from '../types/form'
77
import type { GetObjectField } from '../types/utils'
88

99
type Props<T> = {
@@ -21,6 +21,7 @@ export const formFieldInjectionKey: InjectionKey<ComputedRef<FormFieldInjectedOp
2121
export const inputIdInjectionKey: InjectionKey<Ref<string | undefined>> = Symbol('nuxt-ui.input-id')
2222
export const formInputsInjectionKey: InjectionKey<Ref<Record<string, { id?: string, pattern?: RegExp }>>> = Symbol('nuxt-ui.form-inputs')
2323
export const formLoadingInjectionKey: InjectionKey<Readonly<Ref<boolean>>> = Symbol('nuxt-ui.form-loading')
24+
export const formErrorsInjectionKey: InjectionKey<Readonly<Ref<FormErrorWithId[]>>> = Symbol('nuxt-ui.form-errors')
2425

2526
export function useFormField<T>(props?: Props<T>, opts?: { bind?: boolean, deferInputValidation?: boolean }) {
2627
const formOptions = inject(formOptionsInjectionKey, undefined)

0 commit comments

Comments
 (0)