IMHO Unit tests are not production code and don't have to be held up the same standard. You can easy refactor and delete test code without direct impact on production. For me, DRY make sense for production code, but WET (Write Everything Twice) also works in unit test code.
To directly answer your question, you could use a loop, and you could combine the tests, but I suspect they don't help much.
e.g.
@Test
public void firstNameMaxPermittedLength() {
Userdata userdata = minimumRequirements();
userdata.setFirstName(utf8Chars(64));
assertNoViolations(cut.validate(userdata));
userdata.setFirstName(utf8Chars(65));
assertSingleViolation(cut.validate(userdata));
}