呼び出そうとすると、「Uncaught TypeError:$(...)。valid is a function」というエラーメッセージが表示されます...
javascript
$('input[data-val=true]').on('blur', function() {
$(this).valid();
});
[〜#〜] html [〜#〜]
<div class="col-xs-12 col-sm-5" style="margin-left:4px">
<input required="True" class="form-control" data-bind="value: battleModel.ReserveTroopCount" data-val="true" data-val-number="The field Troop reserve must be a number." data-val-range="Troop reserve must be between 0 and 1000." data-val-range-max="1000" data-val-range-min="0" data-val-required="Troop reserve is required." id="ReserveTroopCount" name="ReserveTroopCount" placeholder="Troop reserve..." tabindex="1" title="Enter the minimum troops you want to reserve after the battle" type="text" value="5">
<span class="field-validation-valid" data-valmsg-for="ReserveTroopCount" data-valmsg-replace="true"></span>
</div>
参照
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="/Content/bootstrap.css" rel="stylesheet" />
<script src="@(Url.Content("/Scripts/jquery-2.2.4.js"))" type="text/javascript"></script>
<script src="@(Url.Content("/Scripts/jquery.validate.js"))" type="text/javascript"></script>
<script src="@(Url.Content("/Scripts/jquery.validate.unobtrusive.js"))" type="text/javascript"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="~/Scripts/bootstrap-toolkit.js"></script>
@Scripts.Render("http://ajax.aspnetcdn.com/ajax/knockout/knockout-3.4.2.js")
<script src="../../Scripts/knockout.mapping-latest.js" type="text/javascript"></script>
<script src="@(Url.Content("~/Scripts/RRCommon.js"))" type="text/javascript"></script>
<script src="@(Url.Content("~/Scripts/StrUtil.js"))" type="text/javascript"></script>
<script src="@(Url.Content("~/Scripts/RRRoll.js"))" type="text/javascript"></script>
私のjqueryファイルはローカルですが、有効です。今日、NuGetからそれらを引き出しました。ブラウザに読み込まれたすべてのスクリプトが表示されます...
スクリプトソースを表示するブラウザ開発ツールのスクリーンショット
何が欠けていますか?私がオンラインで見たものはすべて、スクリプト参照がないか、順序が間違っていることを示しています。他に何をすべきかわからない。このエラーは、参照されているjqueryファイルがロードされていないことを示しています。また、jqueryファイルへのcdn参照をオンラインで試しましたが、同じエラーが発生しました。
JQueryフォーム検証プラグインを使用するには、まずフォームでプラグインを設定する必要があります。 documentation はこの例をいくつか示していますが、基本的にはフォームを選択して.validate()
関数を実行する必要があります。
var form = $( "#myform" );
form.validate();
もちろんフォーム要素がないので、これは追加する必要があるものです。
パセリプラグインを使用している場合は$(this).parsley().isValid()
を使用してください