Fix 4782 to support proper live validation #4785
Merged
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.
Reasons for making this change
Fixed #4782 by fixing
getStateFromProps()around the newskipLiveValidateoptimization flagFixed #4783 by fixing
Formto merge errors while filtering whencustomValidateis providedFixed #4784 by fixing
Formto allow non-empty leaf level objects whenomitExtraDatais activeFormto skip clearing theerrorSchemafor a field that was changed when themustValidateflag is truemustValidateflag to remove the!skipLiveValidatefrom it's assignment, moving it to the live validation branch insteadfilterErrorsBasedOnSchema()to properly merge errors whencustomValidateis providedgetFieldNames()to allow returning non-empty objects for leaf-level fieldsPlaygroundto make theonChange()handler separate the event from the destructure to assist in better debuggingCHANGELOG.mdfile accordinglyChecklist
npx nx run-many --target=build --exclude=@rjsf/docs && npm run test:updateto update snapshots, if needed.