I have an array field with a validator:
<form.Field
name="commissionPayablePercentages"
mode="array"
validators={{
onChange: ({ value }) => {
const total = value.reduce(
(sum, item) => sum + Number(item.percentage || 0),
0
)
return total !== 100 ? ['Total must be 100%'] : []
},
}}
>
Each item has a percentage field:
<form.Field name={`commissionPayablePercentages[${i}].percentage`}>
{(f) => (
<NumberField
value={f.state.value}
onChange={f.handleChange}
/>
)}
</form.Field>
Issue: validation only triggers when adding a new array item.
Need: run validation 500ms after typing in any percentage field (debounce).