@modular-forms/qwik
Version:
The modular and type-safe form library for Qwik
19 lines (18 loc) • 802 B
JavaScript
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.internal.validateOn ?? form.internal.validateOn;
const revalidateOn = fieldOrFieldArray.internal.revalidateOn ?? form.internal.revalidateOn;
if (modes.includes((validateOn === 'submit' ? form.submitted : fieldOrFieldArray.error)
? revalidateOn
: validateOn)) {
validate(form, name, { shouldFocus });
}
}