You need to supplement the character class with the symbols ёЁЇїІіЄєҐґ :
"^[А-Яа-яёЁЇїІіЄєҐґ]+$"
This is a regular expression for the letters of the Ukrainian language (I took the information from Wikipedia ):
[а-щА-ЩЬьЮюЯяЇїІіЄєҐґ]
Perhaps you need to add here ' (see Vlad's comment ).
Concerning ёЁ : these letters in the Unicode table are outside the range of the rest of the letters, so it must be specified separately. The range of capital letters of the Russian language looks like U+0410 - U+042F , the range of lowercase letters - U+0430 - U+044F . Ё has code U+0401 , and ё U+0451 .
And \p{IsCyrillic} : in .NET, you can specify all Cyrillic characters using \p{IsCyrillic} (U + 0400 - U + 04FF) and, for completeness, \p{IsCyrillicSupplement} (U + 0500 - 052F), and then the expression takes the form
@"^[\p{IsCyrillic}\p{IsCyrillicSupplement}]+$"
Well, or @"^['\p{IsCyrillic}\p{IsCyrillicSupplement}]+$" .