Issue #3600702: Store created validation errors

Fixes the dormant normalised element ID unit test by renaming it to testNormalizedElementId().

getOrCreateValidationError() now stores newly-created validation error objects so its behaviour matches its name. isValid() now only treats validation errors with messages as invalid, so empty created placeholders do not fail a submission result.

Closes #3600702

Merge request reports

Loading