fix(validate-mixin): determine required or result validators based on characteristics #2498
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
In
ValidateMixin.js
a combination of approaches was used to determine if aRequired
validator is aRequired
validator, so that the validation routines can be executed accordingly. This involved:instanceof
approach (initial, changed later by fix: form validators check and disabled prop #2397).validatorName
(introduced by fix: form validators check and disabled prop #2397)However, an
instanceof
check still remained in the__executeValidators
function. This PR aims to unify the approach inValidateMixin.js
.What I did
When classifying the passed validators (in
MetaValidators
,AsyncValidators
,SyncValidators
), both theRequired
check and theMetaValidator
checks are now done via characteristics of each:Required
validator should have.validatorName === 'Required'
MetaValidator
should present a.executeOnResults
functionImproved some JSDOC type annotations
Added 2 new test cases in
ValidateMixin.suite.js
:Required
validator which is bundled (as an example) should keep working, while with aninstanceof
check, the test would fail in this caseResultValidator
(in this caseDefaultSuccess
)