私の MVC アプリケーションでは、電子メールの検証はローカルで完全に機能していますが、公開してサーバーにデプロイすると機能しません。ローカル ファイルとデプロイされたファイルの両方の html ソースを比較しましたが、違いはありません。私のRazorビューのマークアップは
<li>
<p><strong>Email: </strong>@Model.CurrentEmailAddress <span class="deliverychange" onclick="showHidden('emailchange');">(Change email)</span></p>
<div id="emailchange" class="fullborder" style="display: none;">
<div class="orderrow newemailaddress">
@Html.LabelFor(m => m.UpdatedEmailAddress)
@Html.TextBoxFor(m => m.UpdatedEmailAddress, new { @onkeypress = "showEmailChangeConfirmation();" })
@Html.ValidationMessageFor(m => m.UpdatedEmailAddress)
</div>
<div id="updatedemailkeypress" style="display: none;">
<div class="orderrow checkboxrow emailchangeconfirm">
@Html.LabelFor(m => m.UpdateEmailAddress)
@Html.EnumRadioButtonFor(m => m.UpdateEmailAddress, false)
</div>
</div>
<div class="clear"> </div>
</div>
</li>
私のモデルは次のとおりです
[DataType(DataType.EmailAddress)]
[RegularExpression(@"^([\w.-]+)@([\w-]+)((.(\w){2,3})+)$", ErrorMessage = "Email is not valid")]
[Display(Name = "Enter new email address: ")]
public string UpdatedEmailAddress { get; set; }
[Display(Name = "We will use ****")]
public YesNo UpdateEmailAddress { get; set; }