2016-07-28 8 views
-1

Привет, ребята, я сейчас собираю простую форму ASP.NET MVC. Для первого и последнего имени я стараюсь, чтобы можно было использовать только буквы a-zA-Z и чтобы можно было использовать минимум и максимум 1-50 символов, однако у меня постоянно возникает несоответствие регулярных выражений.Сопротивление регулярного выражения Entity Framework

[Required(ErrorMessage = "Please enter your first name.")] 
[Display(Name = "First Name")] 
[StringLength(50, MinimumLength = 1, ErrorMessage = "First name should not be longer than 50 characters.")] 
[RegularExpression(@"^[a-zA-Z]{1, 50}$")] 
public string FirstName { get; set; } 

Я проверил заявление Regex в нескольких онлайн калькуляторы, которые говорят мне, что это Corect однако Несовпадение всегда появляется при проверке формы.

Любые идеи? Правильно ли Regex?

+1

Я бы проголосовал против такого ограничения. Но я предполагаю, что вы сделали опечатку, вам нужно использовать '^ [a-zA-Z] {1,50} $', [* '{1, 50}' соответствует символам '{1, 50}' буквально * ] (https://regex101.com/r/qJ7lK1/1). –

+0

Привет, Виктор, спасибо за быстрый ответ. Простите меня, но разве это не то, что у меня есть? Также меня интересует, почему вы проголосуете против такого ограничения? вы могли бы предложить альтернативу? – Brenketsu

+0

Извините, я понял, что вы имеете в виду, если {1, 50} совпадают с литеральной позицией. . Извинения – Brenketsu

ответ

0

Снова ребята, спасибо за подсказку на этом. В соответствии с предложением Wiktor я установил, что на самом деле было недоразумением в отношении Regex, а не на самом деле опечатка: S Но и теперь я допускаю неанглийские символы, такие как é é etc

^[a-zA-Z -_ '' 'ÆÐƎƏƐƔIJŊŒẞÞǷȜæðǝəɛɣijŋœĸsßþƿȝĄƁÇĐƊĘĦĮƘŁØƠŞŞŢŢŦŲƯY̨Ƴąɓçđɗęħįƙłøơşşţţŧųưy̨ƴÁÀÂÄǍĂĀÃÅǺĄÆǼǢƁĆĊĈČÇĎḌĐƊÐÉÈĖÊËĚĔĒĘẸƎƏƐĠĜǦĞĢƔáàâäǎăāãåǻąæǽǣɓćċĉčçďḍđɗðéèėêëěĕēęẹǝəɛġĝǧğģɣĤḤĦIÍÌİÎÏǏĬĪĨĮỊIJĴĶƘĹĻŁĽĿ'NŃN̈ŇÑŅŊÓÒÔÖǑŎŌÕŐỌØǾƠŒĥḥħıíìiîïǐĭīĩįịijĵķƙĸĺļłľŀʼnńn̈ňñņŋóòôöǒŏōõőọøǿơœŔŘŖŚŜŠŞŞṢẞŤŢṬŦÞÚÙÛÜǓŬŪŨŰŮŲỤƯẂẀŴẄǷÝỲŶŸȲỸƳŹŻŽẒŕřŗsśŝšşş ßťţṭŧþúùûüǔŭūũűůųụưẃẁŵẅƿýỳŷÿȳỹƴźżžẓ] {} $ 1,50

Это теперь работает идеально подходит для меня :). Еще раз спасибо Wiktor.

+0

\ w - Соответствует любому символу слова. –

+0

Еще лучше, Еще раз спасибо Alex ^^. Угадайте, мне нужно потратить больше суток или 2 с регулярными рядами, чтобы понять больше. Твой Гент. – Brenketsu