jQuery验证未调用的自定义方法

问题描述:

我已经使用jQuery.validator.addMethod来创建自定义验证方法,该方法将确保我的数据条目表中至少有一行。使用Firebug,我的方法中的断点没有被击中。我错过了什么吗?jQuery验证未调用的自定义方法

注意:我确定验证方法本身存在问题,但那是因为我还无法调试它。我仍然是JavaScript的新手。

更新:我已经知道它没有被触发,因为我没有在输入字段上的验证器。我现在有它的工作,但是,有没有一种方法来添加验证,而不将其附加到输入字段?

这里是我的表是什么样子:

<table id="editorRows"> 
    ... 
    <tbody class="editorRow"> 
     <tr class="row1"> 
     </tr> 
     <tr class="row2" style="display: none;"> 
     </tr> 
     <tr class="row3" style="display:none;"> 
     </tr> 
    </tbody> 
    <tbody class="editorRow"> 
     <tr class="row1"> 
     </tr> 
     <tr class="row2" style="display: none;"> 
     </tr> 
     <tr class="row3" style="display:none;"> 
     </tr> 
    </tbody> 
</table> 

这里是我的自定义的验证:

jQuery.validator.addMethod('required_row', function(val, el) { 
    var rowCount = $("#editorRows tbody").length; 
    if (typeof rowCount != "undefined") { 
     return (rowCount > 0); 
    } else { 
     return false; 
    }; 
}, "Your request must contain at least one day."); 

// Validate the form before submitting 
$("form").validate({ 
    rules: { 
     "#editorRow": { required_row: true } 
    } 
}); 
+0

愚蠢的问题,但你有没有确保没有JavaScript错误。我假设你是使用Firebug,但只是为了确保。这通常是罪魁祸首。 – 2011-03-31 14:12:43

+0

@Jack不是我所看到的。 – 2011-03-31 14:44:53

+0

好的,我在这个主题上找到了一个[重复发表](http://stackoverflow.com/q/3069871/2535),并且我添加了[功能请求](https://github.com/jzaefferer/jquery-验证/问题/ 79)。 – 2011-04-11 17:25:59

我已经想通了,这是没有得到触发,因为我没有足够的验证器在输入字段上。我现在有它的工作,但是,有没有一种方法来添加验证,而不将其附加到输入字段?

+1

尝试使用隐藏的输入代替 – h3n 2012-08-09 07:40:38

+1

你有代码示例吗? – 2016-11-16 15:06:06