fixed password retype field error display

This commit is contained in:
anhefti 2019-08-14 17:56:43 +02:00
parent 34982a8ae4
commit b5ce9d3269

View file

@ -117,7 +117,8 @@ public class UserAccountController extends ActivatableEntityController<UserInfo,
@Override @Override
protected Result<UserMod> validForCreate(final UserMod userInfo) { protected Result<UserMod> validForCreate(final UserMod userInfo) {
return super.validForCreate(userInfo) return super.validForCreate(userInfo)
.flatMap(this::additionalConsistencyChecks); .flatMap(this::additionalConsistencyChecks)
.flatMap(this::passwordMatch);
} }
@Override @Override
@ -151,6 +152,18 @@ public class UserAccountController extends ActivatableEntityController<UserInfo,
}); });
} }
private <T extends UserAccount> Result<UserMod> passwordMatch(final UserMod userInfo) {
if (!userInfo.newPasswordMatch()) {
throw new APIMessageException(APIMessage.fieldValidationError(
new FieldError(
"passwordChange",
PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD,
"user:confirmNewPassword:password.mismatch")));
}
return Result.of(userInfo);
}
/** Additional consistency checks that has to be checked before create and save actions */ /** Additional consistency checks that has to be checked before create and save actions */
private <T extends UserAccount> Result<T> additionalConsistencyChecks(final T userInfo) { private <T extends UserAccount> Result<T> additionalConsistencyChecks(final T userInfo) {
return Result.tryCatch(() -> { return Result.tryCatch(() -> {
@ -217,7 +230,7 @@ public class UserAccountController extends ActivatableEntityController<UserInfo,
new FieldError( new FieldError(
"passwordChange", "passwordChange",
PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD, PasswordChange.ATTR_NAME_CONFIRM_NEW_PASSWORD,
"user:retypedNewPassword:password.mismatch"))); "user:confirmNewPassword:password.mismatch")));
} }
return info; return info;