form
form copied to clipboard
feat(form-core): add onDynamicListenTo validator option
Adds onDynamicListenTo validator option to enable automatic dynamic validation when specified fields change, following the same pattern as existing onChangeListenTo and onBlurListenTo options.
Changes
- Type definitions: Added
onDynamicListenTo?: DeepKeys<TParentData>[]to FieldValidators - Core logic: Extended
getLinkedFields()to supportdynamicvalidation cause - Auto-trigger: Modified
setValue()to automatically trigger dynamic validation on linked fields - Validation logic: Added
dynamiccase support in defaultValidationLogic - Tests: Comprehensive test coverage for sync/async scenarios and multiple field listening
- Documentation: Added usage guide and examples in React linked fields documentation
Usage
<form.Field
name="confirmPassword"
validators={{
onDynamicListenTo: ['password'],
onDynamic: ({ value, fieldApi }) => {
if (value !== fieldApi.form.getFieldValue('password')) {
return 'Passwords do not match'
}
}
}}
>
{/* Field render */}
</form.Field>