I would say that there is nothing as strong as an “idiom” for cases like this. Hard to say for sure since there’s a piece of your code missing but the problem appears to be that your register function is missing logic for handling different results of each Multi operation. I think the most important pattern you can/should be taking advantage of there is Ecto’s schemaless changesets to add a layer in between your UI (form) and and BE (context). You would handle any validations there, and then in your register function would no longer need to provide error handling.


















