UNPKG

@modular-forms/react

Version:

The modular and type-safe form library for React

21 lines (20 loc) 814 B
import { validate } from '../methods'; /** * Validates a field or field array only if required. * * @param form The form of the field or field array. * @param fieldOrFieldArray The store of the field or field array. * @param name The name of the field or field array. * @param options The validate options. */ export function validateIfRequired(form, fieldOrFieldArray, name, { on: modes, shouldFocus = false }) { const validateOn = fieldOrFieldArray.validateOn ?? form.internal.validateOn; const revalidateOn = fieldOrFieldArray.revalidateOn ?? form.internal.revalidateOn; if (modes.includes((validateOn === 'submit' ? form.submitted.peek() : fieldOrFieldArray.error.peek()) ? revalidateOn : validateOn)) { validate(form, name, { shouldFocus }); } }