Skip to content

Commit 6b5bdd0

Browse files
authored
Merge pull request #1322 from cyberdotgent/master
Fix issue related to invalid characters in tags being submitted.
2 parents 287f232 + 0270a6b commit 6b5bdd0

File tree

3 files changed

+14
-3
lines changed

3 files changed

+14
-3
lines changed

src/main/java/de/rwth/idsg/steve/web/validation/IdTag.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
@Constraint(validatedBy = {IdTagValidator.class, IdTagListValidator.class})
3737
public @interface IdTag {
3838

39-
String message() default "ID Tag can only contain upper or lower case letters, numbers and dot, colon, dash, underscore symbols";
39+
String message() default "ID Tag can only contain upper or lower case letters, numbers and dot, colon, dash, underscore or hash symbols";
4040

4141
// Required by validation runtime
4242
Class<?>[] groups() default {};

src/main/java/de/rwth/idsg/steve/web/validation/IdTagValidator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
*/
3232
public class IdTagValidator implements ConstraintValidator<IdTag, String> {
3333

34-
private static final String IDTAG_PATTERN = "^[a-zA-Z0-9.:_-]{1,20}$";
34+
private static final String IDTAG_PATTERN = "^[a-zA-Z0-9.:_#-]{1,20}$";
3535
private static final Pattern PATTERN = Pattern.compile(IDTAG_PATTERN);
3636

3737
@Override

src/test/java/de/rwth/idsg/steve/web/validation/IdTagValidatorTest.java

+12-1
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,20 @@ public void testColon() {
9191
Assertions.assertTrue(validator.isValid("VID:00XXXXXXXXXX", null));
9292
}
9393

94+
@Test
95+
public void testPoundSign() {
96+
Assertions.assertTrue(validator.isValid("#test", null));
97+
Assertions.assertTrue(validator.isValid("test#", null));
98+
Assertions.assertTrue(validator.isValid("te##st", null));
99+
100+
// Tag provided by Webasto charge points
101+
// https://github.com/steve-community/steve/pull/1322
102+
Assertions.assertTrue(validator.isValid("#FreeCharging", null));
103+
}
104+
94105
@Test
95106
public void testCombined() {
96-
Assertions.assertTrue(validator.isValid("1t.E-S_:t20", null));
107+
Assertions.assertTrue(validator.isValid("1t.E-S_:t20#", null));
97108
}
98109

99110
}

0 commit comments

Comments
 (0)