如何使用 jquery 验证验证列表框
How to validate list box with jquery validate
我正在使用jquery validation,它适用于普通字段。我需要一种方法来确保在满足验证之前一个列表框中至少有一个条目。我尝试添加一个自定义方法。
$.validator.addMethod('checklist', function(value, element) {
if ($("#currentimp").val() ==""){
return false;
} else return true;
}, "Listbox is empty");
然后在规则中,我有以下内容:
currentimp: {
checklist:true
}
我不确定是否有更好的方法来实现这一目标,但我还没有看到任何关于我正在尝试做的事情的好例子。我还将表单按钮更改为提交按钮,但除非我向提交处理程序添加提交功能,否则它不会提交。这正常吗?
如果列表框是某种选择或单选,则只需使用required:true
规则,无需创建自己的自定义规则。
引用 OP:
"我需要一种方法来确保在满足验证之前,一个列表框中至少有一个条目。">
如果"listbox"是指<select multiple="multiple">
,则无需编写自定义方法;您将使用required
规则。
验证select
的诀窍是,您的第一个<option>
必须包含value=""
。
HTML:
<select name="currentimp" id="currentimp" multiple="multiple">
<option value="">...</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
<option value="4">option 4</option>
</select>
j查询:
$(document).ready(function () {
$('#myform').validate({
rules: {
currentimp: {
required: true
}
}
});
});
演示:http://jsfiddle.net/5GKbF/
引用 OP:
"我还将表单按钮更改为提交按钮,但除非我向提交处理程序添加提交功能,否则它不会提交。这正常吗?
不,这不正常。
jQuery Validate 插件将始终捕获任何带有type="submit"
按钮的点击,只要它包含在您的<form></form>
标签中。
<input type="submit" ...
和<button type="submit" ...
都是可以接受的。
submitHandler
回调不是必需选项。
如果省略submitHandler
回调选项,则在成功验证后,表单将提交到 action
属性中指定的 URL。
<form action="myScript.php" ...
通常,仅当您要绕过action
并通过.ajax()
提交表单和/或执行其他功能时,才会使用该submitHandler
。
- 客户端单选按钮列表验证
- 依赖下拉列表的数据验证
- 使用 JavaScript 正则表达式验证每个列表项一个字母的逗号列表
- jQuery验证插件-比较两个选择下拉列表的自定义方法
- 如何对重复下拉列表应用验证
- 在 JavaScript 中使用 for 循环验证多个下拉列表
- 停止 C# 在下拉列表 javascript 验证失败时继续执行服务器端脚本
- 使用 javascript 验证下拉列表
- JavaScript/jQuery:验证复选框和下拉列表配对
- 按 ID 验证 JavaScript 中的列表框和单选按钮
- 用于验证间隔列表的算法
- 对没有数据绑定“选项”或“标题”的选择列表进行挖空验证
- 如何使用下拉列表验证结束日期必须大于开始日期
- javascript 正则表达式验证列表以逗号分隔
- 根据下拉列表修改验证规则
- 如何编写一个测试来验证函数是否已成功将字符串列表(在数组中指定)打印到屏幕上
- 重构下拉列表和文本字段的验证
- 验证 2 个下拉列表(只有某些组合有效)
- 如何使用 jquery 验证验证列表框
- 在REST中验证列表项