UNPKG

@modular-forms/react

Version:

The modular and type-safe form library for React

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