fix(Form): return false when silent validation fails (#1371)

This commit is contained in:
Romain Hamel
2024-02-18 11:11:07 +01:00
committed by GitHub
parent 31232d4d72
commit d4b6147fcc
2 changed files with 6 additions and 2 deletions

View File

@@ -109,11 +109,14 @@ export default defineComponent({
errors.value = await getErrors() errors.value = await getErrors()
} }
if (!opts.silent && errors.value.length > 0) { if (errors.value.length > 0) {
if (opts.silent) return false
throw new FormException( throw new FormException(
`Form validation failed: ${JSON.stringify(errors.value, null, 2)}` `Form validation failed: ${JSON.stringify(errors.value, null, 2)}`
) )
} }
return props.state return props.state
} }

View File

@@ -10,7 +10,8 @@ export interface FormErrorWithId extends FormError {
} }
export interface Form<T> { export interface Form<T> {
validate(path?: string, opts?: { silent?: boolean }): Promise<T> validate(path?: string, opts?: { silent?: true }): Promise<T | false>;
validate(path?: string, opts?: { silent?: false }): Promise<T>;
clear(path?: string): void clear(path?: string): void
errors: Ref<FormError[]> errors: Ref<FormError[]>
setErrors(errs: FormError[], path?: string): void setErrors(errs: FormError[], path?: string): void