Если кратко по сути: {255} означает, что должно быть строго 255 символов, не меньше и не больше. Т.е. валидные у вас имена только длиной 256 символов (включая первую заглавную). Поменяйте на {1,255} и всё будет хорошо.
Но, вдадимся в детали:
- Почему 255? Если вы хотите, чтобы запись не превышала размер поля в базе (допустим, это SQL char с лимитом 255), то тут облом - у вас выходит 256 символов с первым обязательным, ставьте лимит {1,254}. Либо замените на обычный +, думаю фреймворк должен где-то сам проверять вхождение в поле, либо просто база обрежет имя шутника.
- Есть имена составные, из двух и более слов через пробел, причём не обязательно все части пишутся с большой буквы.
- У имён латинских, особенно если ресурс будем международный, часто встречаются диакритические знаки, которые не будут срабатывать с вашей регуляркой. Один из способов их проверки:
\p{L}
Я бы сделал из всего этого такой вывод: разрешите дополнительно диакритические знаки, разрешите любой регистр и пробелы. Дайте возможность людям написать своё имя так, как им нужно.