adapt to passay 2.0 api

This commit is contained in:
Athou
2026-04-07 02:11:37 +02:00
parent af786b4c11
commit 3d5bc9ef0e

View File

@@ -6,11 +6,12 @@ import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext; import jakarta.validation.ConstraintValidatorContext;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.passay.LengthRule; import org.passay.DefaultPasswordValidator;
import org.passay.PasswordData; import org.passay.PasswordData;
import org.passay.PasswordValidator; import org.passay.PasswordValidator;
import org.passay.RuleResult; import org.passay.ValidationResult;
import org.passay.WhitespaceRule; import org.passay.rule.LengthRule;
import org.passay.rule.WhitespaceRule;
import lombok.Setter; import lombok.Setter;
@@ -31,20 +32,20 @@ public class PasswordConstraintValidator implements ConstraintValidator<ValidPas
} }
PasswordValidator validator = buildPasswordValidator(); PasswordValidator validator = buildPasswordValidator();
RuleResult result = validator.validate(new PasswordData(value)); ValidationResult result = validator.validate(new PasswordData(value));
if (result.isValid()) { if (result.isValid()) {
return true; return true;
} }
List<String> messages = validator.getMessages(result); List<String> messages = result.getMessages();
String message = String.join(System.lineSeparator(), messages); String message = String.join(System.lineSeparator(), messages);
context.buildConstraintViolationWithTemplate(message).addConstraintViolation().disableDefaultConstraintViolation(); context.buildConstraintViolationWithTemplate(message).addConstraintViolation().disableDefaultConstraintViolation();
return false; return false;
} }
private PasswordValidator buildPasswordValidator() { private PasswordValidator buildPasswordValidator() {
return new PasswordValidator( return new DefaultPasswordValidator(
// length // length
new LengthRule(minimumPasswordLength, 256), new LengthRule(minimumPasswordLength, 256),
// no whitespace // no whitespace