Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
fix: mark fields validated via form validate as validated
  • Loading branch information
logaretm committed Feb 22, 2022
1 parent 8f90850 commit ad9fa9d
Showing 1 changed file with 14 additions and 8 deletions.
22 changes: 14 additions & 8 deletions packages/vee-validate/src/useForm.ts
Expand Up @@ -198,6 +198,17 @@ export function useForm<TValues extends Record<string, any> = Record<string, any
return mutation(fieldOrGroup);
}

function mutateAllFields(mutation: (f: PrivateFieldContext) => unknown) {
Object.values(fieldsByPath.value).forEach(field => {
if (!field) {
return;
}

// avoid resetting the field values, because they should've been reset already.
applyFieldMutation(field, mutation);
});
}

/**
* Manually sets an error message on a specific field
*/
Expand Down Expand Up @@ -307,14 +318,8 @@ export function useForm<TValues extends Record<string, any> = Record<string, any
setValues(originalInitialValues.value);
}

Object.values(fieldsByPath.value).forEach(field => {
if (!field) {
return;
}

// avoid resetting the field values, because they should've been reset already.
applyFieldMutation(field, f => f.resetField());
});
// avoid resetting the field values, because they should've been reset already.
mutateAllFields(f => f.resetField());

if (state?.touched) {
setTouched(state.touched);
Expand Down Expand Up @@ -435,6 +440,7 @@ export function useForm<TValues extends Record<string, any> = Record<string, any
}

async function validate(opts?: Partial<ValidationOptions>): Promise<FormValidationResult<TValues>> {
mutateAllFields(f => (f.meta.validated = true));
if (formCtx.validateSchema) {
return formCtx.validateSchema(opts?.mode || 'force');
}
Expand Down

0 comments on commit ad9fa9d

Please sign in to comment.