UNPKG

@modular-forms/solid

Version:

The modular and type-safe form library for SolidJS

17 lines (16 loc) 731 B
import { batch } from 'solid-js'; import { updateFieldDirty } from './updateFieldDirty'; import { validateIfRequired } from './validateIfRequired'; export function handleFieldEvent(form, field, name, event, validationModes, inputValue) { batch(() => { // Update value state field.value.set((prevValue) => field.transform.reduce((current, transformation) => transformation(current, event), inputValue ?? prevValue)); // Update touched state field.touched.set(true); form.internal.touched.set(true); // Update dirty state updateFieldDirty(form, field); // Validate value if required validateIfRequired(form, field, name, { on: validationModes }); }); }