我有一个包含超过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()的确切调用方法.
(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 thevalidate()
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.”