allow '-' in email aliases

This commit is contained in:
Peter Hormanns 2017-11-23 15:48:30 +01:00
parent bf7f4e8249
commit 5591323259
2 changed files with 33 additions and 1 deletions

View File

@ -48,7 +48,7 @@ public class EMailAlias extends AbstractEntity implements Serializable {
@AnnFieldIO(validation="[a-z0-9]*", rw=ReadWriteAccess.READONLY)
private Pac pac;
@AnnFieldIO(validation="[a-z0-9]{5}(-[a-z0-9\\.\\_]{1,})?", rw=ReadWriteAccess.WRITEONCE)
@AnnFieldIO(validation="[a-z0-9]{5}(-[a-z0-9\\.\\_\\-]{1,})?", rw=ReadWriteAccess.WRITEONCE)
@Column(updatable=false)
private String name;

View File

@ -0,0 +1,32 @@
package de.hsadmin.validate;
import java.util.regex.Pattern;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class EMailAliasValidationTest {
private Pattern pattern;
@Before
public void setUp() throws Exception {
pattern = Pattern.compile("[a-z0-9]{5}(-[a-z0-9\\.\\_\\-]{1,})?");
}
@Test
public void test() {
Assert.assertTrue("xyz00-a.b", pattern.matcher("xyz00-a.b").matches());
Assert.assertTrue("xyz00-a-b", pattern.matcher("xyz00-a-b").matches());
Assert.assertTrue("xyz00--b", pattern.matcher("xyz00-a-b").matches());
Assert.assertTrue("xyz00-a-", pattern.matcher("xyz00-a-b").matches());
Assert.assertFalse("xyz00-a.B", pattern.matcher("xyz00-a.B").matches());
Assert.assertFalse("xyz00-", pattern.matcher("xyz00-").matches());
Assert.assertTrue("xyz00", pattern.matcher("xyz00").matches());
Assert.assertFalse("xyz0", pattern.matcher("xyz0").matches());
Assert.assertFalse("xyz00_a", pattern.matcher("xyz00_a").matches());
Assert.assertFalse("xyz00-a.b:c", pattern.matcher("xyz00-a.b:c").matches());
}
}