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 }
}
});
答
我已经想通了,这是没有得到触发,因为我没有足够的验证器在输入字段上。我现在有它的工作,但是,有没有一种方法来添加验证,而不将其附加到输入字段?
+1
尝试使用隐藏的输入代替 – h3n 2012-08-09 07:40:38
+1
你有代码示例吗? – 2016-11-16 15:06:06
愚蠢的问题,但你有没有确保没有JavaScript错误。我假设你是使用Firebug,但只是为了确保。这通常是罪魁祸首。 – 2011-03-31 14:12:43
@Jack不是我所看到的。 – 2011-03-31 14:44:53
好的,我在这个主题上找到了一个[重复发表](http://stackoverflow.com/q/3069871/2535),并且我添加了[功能请求](https://github.com/jzaefferer/jquery-验证/问题/ 79)。 – 2011-04-11 17:25:59