Does the split really need to be so aggressive?
I understand the concept of wanting the Interface layer to be as thin as possible, but considering all the communication and extra logic needed (even if it was possible to iterate over the inputs as an array) it feels a bit over architecture.
Especially since there is a very tight coupling between the attributes that the interface shows and the does that the service knows, so that they always match to give proper errors.
Better yet, just thinking about the UX of it on a mobile application I would want to keep as much validations as possible in the client side just to give the user a awsome and fast experience for most validations, even if they need to be redone on the server for security reasons.
If you need to go to the server, call a service and then give user feedback, that would injure the experience just for architectural purposes.
Well, this is my personal opinion on the subject, but would be nice to see other opinions.