jQuery验证插件:没有选择,无法验证,什么都不返回

前端之家收集整理的这篇文章主要介绍了jQuery验证插件:没有选择,无法验证,什么都不返回前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个包含超过80个js文件的大型Rails项目,我一直在Chrome的控制台中收到此消息:

Nothing selected,can't validate,returning nothing. 

不过,我无法弄清楚是什么抛出了这个消息.我正在使用验证插件的所有表单似乎都正确验证了它们应该如何.

如何追溯以查看实际导致此消息出现的文件函数

以下是验证插件的相关部分:

  // if nothing is selected,return nothing; can't chain anyway
  if ( !this.length ) {
    if ( options && options.debug && window.console ) {
      console.warn( "Nothing selected,returning nothing." );
    }
    return;
  }

似乎在一个不存在的选择器上调用了validate(),但我在整个项目的数百个地方调用了validate(),这就是为什么我正在寻找一种方法来跟踪对validate()的确切调用方法.

最佳答案
来自jQuery Validate插件本身……

(function($) {
$.extend($.fn,{
    // http://docs.jquery.com/Plugins/Validation/validate
    validate: function( options ) {

        // if nothing is selected,return nothing; can't chain anyway
        if ( !this.length ) {
            if ( options && options.debug && window.console ) {
                console.warn( "Nothing selected,returning nothing." );
            }
            return;
        }
 ....

所以看起来你使用这个插件的方式是非常错误的.代码似乎表明您没有正确地将.validate()附加到表单元素.

引用OP:

“but I call validate() in hundreds of places throughout the project,which is why I’m looking for a way to trace the exact call to the validate() method.”

您的控制台错误仅与浏览器中加载的页面相关.当然,你没有数百个< form> …< / form>在单个页面上加载的对象.

只有在debug:option设置为true时才会出现控制台“warning”,它只表示在DOM中不存在的表单上调用.validate().这只是一个警告,而不是错误.此外,您无法在debug中使用该插件:设置为true,因为表单永远不会提交.

Enables debug mode. If true,the form is not submitted and certain
errors are displayed on the console (will check if a window.console
property exists). Try to enable when a form is just submitted instead
of validation stopping the submit. Example: Prevents the form from
submitting
and tries to help setting up the validation with warnings
about missing methods
and other debug messages.”

见:http://jqueryvalidation.org/validate/

原文链接:https://www.f2er.com/jquery/428730.html

猜你在找的jQuery相关文章