I have a repeat that gets populated using the function - selected-at(${issues}, position(..)-1).
I would like the make the repeat questions required but allows the user to answer in any order. Right now adding a constraint or required makes the user answer the questions in order.
Is there a way to allow the user to answer the questions in any order and when they hit submit, call out any questions that were unanswered, similar to how a constraint works without repeats?
No you cannot go to the next repeat until all conditions are met. It is just the way the backend works.
You can do it relatively easily by making a calculation question, outside the repeat, that checks whether all required questions have been answered within the repeat. You can then set a constraint on that question to prevent the survey being submitted until all questions are answered. It won't specify which questions have been skipped, but you can easily set a conditional formatting within the repeat that will highlight those questions.