From 7ccac22b3e2e94493342ae5f07504447970eb59e Mon Sep 17 00:00:00 2001 From: Dmytro Trotsenko Date: Mon, 8 Jan 2024 10:59:21 +0200 Subject: [PATCH] bugfix: added allowed symbols to nickname validation --- .../annotation/validator/NicknameValidator.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/chat/yourway/annotation/validator/NicknameValidator.java b/src/main/java/com/chat/yourway/annotation/validator/NicknameValidator.java index 9175c943..66409823 100644 --- a/src/main/java/com/chat/yourway/annotation/validator/NicknameValidator.java +++ b/src/main/java/com/chat/yourway/annotation/validator/NicknameValidator.java @@ -10,7 +10,8 @@ public class NicknameValidator implements ConstraintValidator { - private static final Pattern NICKNAME_PATTERN = Pattern.compile("^[a-zA-Z0-9а-яА-ЯІіЇї]{4,20}$"); + private static final Pattern NICKNAME_PATTERN = Pattern.compile( + "^[a-zA-Z0-9а-яА-ЯІіЇї!@#$%^&*_\\-+=~?]{4,20}$"); @Override public boolean isValid(String value, ConstraintValidatorContext context) { @@ -23,13 +24,15 @@ public boolean isValid(String value, ConstraintValidatorContext context) { return false; } else if (!NICKNAME_PATTERN.matcher(value).matches()) { context - .buildConstraintViolationWithTemplate("The nickname is invalid") + .buildConstraintViolationWithTemplate( + "The nickname should be 4-20 characters long and include only letters, numbers or " + + "symbols [! @ # $ % ^ & * _ - + = ~ ?]") .addConstraintViolation(); return false; } else if (PATTERN_SPACE.matcher(value).matches()) { context - .buildConstraintViolationWithTemplate("The nickname should not include space") - .addConstraintViolation(); + .buildConstraintViolationWithTemplate("The nickname should not include space") + .addConstraintViolation(); return false; }