feat(schema) do not run custom_entity_check if fields are invalid #3848
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.
This is inspired by #3846.
For the generic checkers we had so far, running them on invalid fields and
reporting everything at once was okay, and avoided the "get one error, fix
thing, get another error" experience. But for a custom checker, it's safer to
only run it on valid fields (especially thinking of making things less
error-prone for third-party plugin authors).
The commit is lengthy because the
errors
table is now passed alongand is used to check whether there are recorded errors by the time
entity checkers run; a side effect of this is that the code is now
simpler, and produces fewer intermediate tables.