form icon indicating copy to clipboard operation
form copied to clipboard

feat(form-core): add onDynamicListenTo validator option

Open jiji-hoon96 opened this issue 4 months ago • 0 comments

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 support dynamic validation cause
  • Auto-trigger: Modified setValue() to automatically trigger dynamic validation on linked fields
  • Validation logic: Added dynamic case 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>

jiji-hoon96 avatar Aug 21 '25 04:08 jiji-hoon96