DataAnnotation を使用してクライアント側でフォームを検証する ASP.NET MVC Web ページがあります。ビュー クラスの 1 つに、次のようなプロパティがあります。
[StringLength(100, MinimumLength = 3, ErrorMessage = "Länken måste vara mellan 3 och 100 tecken lång")]
[Display(Name = "Länk")]
[RegularExpression(@"^(http(s)?://([\w-]+.)+[\w-]+(/[\w- ./?%&=])?)?$", ErrorMessage="Länkgen är inte giltlig")]
public string Url { get; set; }
ビューでは、プロパティに次のコードを使用します。
@Html.LabelFor(c => c.Url, true)
@Html.TextBoxFor(c => c.Url, new { @class = "tb1", @Style = "width:400px;" })
@Html.ValidationMessageFor(model => model.Url)
次のような URL を貼り付ける場合:
http://95rockfm.com/best-voicemail-giving-play-by-play-of-car-accident/
ウェブページがロックアップし、ウェブページで何もできなくなります。ただし、これを貼り付けた場合:
http://95rockfm.com/best-voicemail-giving-play-by-play-of-car-accident
それはうまく動作します。
これらの JavaScript ファイルは、Web ページの下部に含まれています。
<script type="text/javascript" src="/Scripts/jquery.qtip.min.js"></script>
<script src="/Scripts/jquery-1.7.1.min.js"></script>
<script src="/Scripts/jquery-ui-1.8.20.min.js"></script>
<script src="/Scripts/jquery.validate.min.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js"></script>
IE と Chrome の両方でまったく同じ問題が発生します。ただし、IE が戻ってきて、スクリプトに時間がかかりすぎて、スクリプトを停止するボタンが表示されたと表示されます。ただし、入力制御を切り替えると、スクリプトが再度実行され、Web ページが表示されます。
私はカスタムのものを使用していないのに、なぜこれを取得するのですか?