mirror of https://github.com/portainer/portainer
20 lines
412 B
TypeScript
20 lines
412 B
TypeScript
|
import { yupToFormErrors } from 'formik';
|
||
|
import { SchemaOf } from 'yup';
|
||
|
|
||
|
export async function validateForm<T>(
|
||
|
schemaBuilder: () => SchemaOf<T>,
|
||
|
formValues: T
|
||
|
) {
|
||
|
const validationSchema = schemaBuilder();
|
||
|
|
||
|
try {
|
||
|
await validationSchema.validate(formValues, {
|
||
|
strict: true,
|
||
|
abortEarly: false,
|
||
|
});
|
||
|
return undefined;
|
||
|
} catch (error) {
|
||
|
return yupToFormErrors<T>(error);
|
||
|
}
|
||
|
}
|