0

Let's say you have a property Name in your ViewModel:

[Required(ErrorMessage = "{0} is required.")]       
[RegularExpressionAttribute("[a-zA-Z äöåÄÖÅ]+", ErrorMessage = "Field {0} must contain only letters.")]      
public string Name{ get; set; }  

In some browser this works as it's not getting encoded:

<input class="name valid" data-val="true" data-val-regex="Field Name must contain only letters." data-val-regex-pattern="[a-zA-Z äöåÄÖÅ]+" data-val-required="Name is required." name="Name" type="text" value="">

But in some browsers this gets encoded so the regex doesn't work

<input class="name valid" data-val="true" data-val-regex="Field Name must contain only letters." data-val-regex-pattern="[a-zA-Z &amp;#228;&amp;#246;&amp;#229;&amp;#196;&amp;#214;&amp;#197;]+" data-val-required="Name is required." name="Name" type="text" value="">

I've investigated and found out that javascript has problems https://stackoverflow.com/a/4044768/1241400.

Is there any workarounds?

Community
  • 1
  • 1
Matija Grcic
  • 12,963
  • 6
  • 62
  • 90

1 Answers1

1

You could try Unicode escapes:

"[A-Za-z \\u00E4\\u00F6\\u00E5\\u00C4\\u00D6\\u00C5]+"
Tim Pietzcker
  • 328,213
  • 58
  • 503
  • 561