Проверка DataAnnotations (регулярное выражение) в asp.net mvc 4 - razor view

Валидатор DataAnnotations не работает в представлении asp.net mvc 4 razor, при использовании специальных символов в регулярном выражении.

Модель:

[StringLength(100)]
[Display(Description = "First Name")]
[RegularExpression("^([a-zA-Z0-9 .&'-]+)$", ErrorMessage = "Invalid First Name")]
public string FirstName { get; set; }

Razor View:

@Html.TextBoxFor(model => Model.FirstName, new { })
@Html.ValidationMessageFor(model => Model.FirstName)

Ненавязчивая проверка отображается в виде:

<input type="text" value="" tabindex="1" style="height:auto;" name="FirstName" maxlength="100" id="FirstName" data-val-regex-pattern="^([a-zA-Z0-9 .&amp;amp;&amp;#39;-]+)$" data-val-regex="Invalid First Name" data-val-length-max="100" data-val-length="The field FirstName must be a string with a maximum length of 100." data-val="true" class="textfield ui-input-text ui-body-d ui-corner-all ui-shadow-inset valid">

Шаблон регулярного выражения в приведенном выше html не отображается так, как указано в RegularExpression модели, что приводит к ошибке даже при вводе действительные данные ( Sam's ).

Как я могу справиться с этим?

- ОБНОВЛЕНИЕ -

Я обновил код в соответствии с предложением @Rick

[StringLength(100)]
[Display(Description = "First Name")]
[RegularExpression("([a-zA-Z0-9 .&'-]+)", ErrorMessage = "Enter only alphabets and numbers of First Name")]
public string FirstName { get; set; }

Просмотр исходного кода показывает следующее:

<input data-val="true" data-val-length="The field FirstName must be a string with a maximum length of 100." data-val-length-max="100" data-val-regex="Enter only alphabets and numbers of First Name" data-val-regex-pattern="([a-zA-Z0-9 .&amp;amp;&amp;#39;-]+)" id="FirstName" maxlength="100" name="FirstName" type="text" value="" />

У меня все еще та же проблема.

45
задан Prasad 21 February 2012 в 04:57
поделиться