I was setting up a password policy (via userManager extension point) on our nuxeo instance and discovered the following behavior:
Entering a password that does not match the defined policy, when creating a user via WEB-UI, is resulting in an InvalidPasswordException thrown in the class "UserManagerImpl", but does not lead to corresponding error message in client. So the password is ultimately validated and the creation in not successful, but the user has no idea what went wrong.
The password is not validated in the UserRootObject unlike other preconditions.
Additionally the cases that are handled in the UserRootObject are returning hard-coded error messages instead of i18n keys.
If you confirm this issue, I would be happy to provide a pull request.