Does VeeValidate's async validator abort signal reliably cancel in-flight validations across browser environments?
0 reputation · 08 Jul 2021, 03:55 UTC
Context
VeeValidate 4.x supports async validators with timeout configuration and abort signal integration via the validation controller. The documentation indicates that validation can be cancelled mid-flight, but the research notes that cancellation behavior may vary between browsers and Node.js versions.
Goal
Determine whether the abort signal mechanism provides consistent cancellation guarantees for in-flight async validations across supported browser environments, and what recovery patterns are recommended when cancellation occurs.
Constraints and Uncertainty
The ValidationResult object returned from failed validations contains errors and a failed flag without throwing exceptions. However, the interaction between abort signals, timeout handling, and the reset() method on useField composable is not fully specified for edge cases where a validation is cancelled after partial execution.
Questions
- Does the abort signal immediately terminate the async validator function, or does it only prevent the result from being applied?
- What state does the field/form retain after a cancelled validation, and does reset() reliably restore a clean state?
- Are there documented differences in abort behavior between major browser engines that affect recovery logic?