Fixes: #33655
Currently, we validate and import descriptors in the same loop. If any descriptor fails validation, an error is added to the response array, but the complete response (including that error) is only returned to after a rescan completes—potentially wasting significant time when validation error could have been caught immediately.
This PR separates validation from processing: validate all descriptors first, and process in the second loop