【问题标题】:Why is the Validator jQuery plugin not validating with this configuration?为什么 Validator jQuery 插件不使用此配置进行验证?
【发布时间】:2015-07-31 21:07:29
【问题描述】:

我在 Sharepoint .ascx 文件中有以下 HTML 和 jQuery,目前尝试验证一个“必填”字段(名称):

<html>
. . .
<form id="firstform">
    <label class="firstblocklabel finaff-webform-field-label">Traveler's name:</label>
    <input class="firstblockinput finaff-webform-field-input" type="text" name="travelername" id="travelername" title="Last Name, First Name, Middle Initial" required/>
    </br>
    . . .
</form>
</html>

<script src="http://bassassistance.de/jquery-plugins/jquery-plugin-validation" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function () {
        $('[id$=firstform]').validate();
    });
</script>

...但它不起作用;输入“旅行者姓名”输入文本并将其退出为空,或添加一个值然后删除它并退出,不会在“旅行者姓名”文本输入元素附近调用“请输入一个 val”或任何应该是的 msg。

如您所见,“travelername”被标记为“required”,我引用的是 validate 插件,并且在 ready 函数中调用了 validate()。

我是否还需要添加对 .CSS 文件的引用?

注意:我也试过这个网址:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.14.0/jquery.validate.min.js" type="text/javascript"></script>

...但这也行不通。

请注意,我有一个类似的问题 here,但在这种情况下,我没有使用任何代码隐藏,所以让它工作起来应该更简单。

更新

发生了一件有趣的事情:在 IE 中运行我的页面时(我知道,这是我的第一个错误,但这是大多数用户都拥有/使用的),我在底部收到“页面错误”消息浏览器。

为了调查可能是什么错误,我在 Chrome 中运行了该页面。在那里,它在页面上向我显示了错误所在 - “请求者姓名”输入文本元素成为焦点,并且旁边出现“请填写此字段”消息。一旦我在那里输入了一些东西,一切都很好。

那么:验证插件到底能用吗?

在查看我的代码时,我发现是这样的:

boxRequesterName.Attributes.Add("data-group", "1");
boxRequesterName.Attributes.Add("required", "true");

我只是模糊地记得添加了那个;显然它是一个 HTML5 的好东西,Chrome 可以很好地使用它,而我有点过时的 IE 版本看起来很奇怪(或困惑)。

所以也许这种方法对我来说实际上是一种更好的方法(添加显式 HTML5 代码而不是依赖插件)。

【问题讨论】:

  • &lt;script src="http://bassassistance ...." ...&gt;&lt;/script&gt; 使用了错误的 url(他们网站的 url 不是 CDN),请从 CDN 中加载 jquery-validation 插件,例如cdnjs: @ 987654322@
  • 好的;不过,它也不适用于其他 URL。我会试试你的。
  • 您是否在浏览器的控制台上看到任何错误?
  • 不,控制台中没有错误消息;它什么也不做。

标签: jquery html css jquery-validate ascx


【解决方案1】:

使用专注

 $('[id$=firstform]').validate({
          onfocusout: function(element) {
           this.element(element);
        }
 });

添加了一个 plunker http://plnkr.co/edit/JRNNVag0IL1Hd5GKwEMh?p=preview

【讨论】:

  • 在 Jim Plunker(他当年为 Raiders 打 QB,对吧),我看到:onblue:true ???
  • 没有名为onblueonblur.validate() 选项。即使有,根据文档,您也不能将其设置为 true,因为这已经是默认设置了。
猜你喜欢
  • 2012-11-10
  • 2014-02-01
  • 1970-01-01
  • 2011-02-21
  • 1970-01-01
  • 2018-04-14
  • 2013-04-16
  • 1970-01-01
  • 2013-06-11
相关资源
最近更新 更多