【问题标题】:jQuery validate: Uncaught TypeError: $(...)."valid is not a function" with valid references/orderjQuery validate: Uncaught TypeError: $(...)."valid is not a function" with valid references/order
【发布时间】:2018-03-29 18:30:23
【问题描述】:

我在尝试调用时收到错误消息“Uncaught TypeError: $(...).valid is not 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 中删除。我看到浏览器中加载了我的所有脚本...

Screenshot of browser dev tools displaying my script sources

我错过了什么?我在网上看到的所有内容都表明脚本参考丢失或顺序错误。不知道还能做什么。该错误表明引用的 jquery 文件没有被加载。我还尝试了对 jquery 文件的在线 cdn 引用,但得到了同样的错误。

【问题讨论】:

  • ~ 不见了。
  • 当我将 jquery 版本从 1.11.1 更新到 3.x.x 时遇到了同样的问题。

标签: javascript jquery validation model-view-controller


【解决方案1】:

为了使用 jQuery 表单验证插件,您需要先在表单上进行设置。 documentation 给出了几个例子,但基本上你需要选择表单并运行.validate() 函数。

var form = $( "#myform" );
form.validate();

显然你没有表单元素,所以这是你需要添加的东西。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2017-08-01
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 2012-09-11
  • 2021-04-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多