0

假设您的 ViewModel 中有一个属性名称:

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

在某些浏览器中,这是有效的,因为它没有被编码:

<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="">

但是在某些浏览器中,这会被编码,因此正则表达式不起作用

<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="">

我调查并发现 javascript 有问题 https://stackoverflow.com/a/4044768/1241400

有什么解决方法吗?

4

1 回答 1

1

您可以尝试 Unicode 转义:

"[A-Za-z \\u00E4\\u00F6\\u00E5\\u00C4\\u00D6\\u00C5]+"
于 2012-09-25T12:21:38.457 回答