jquery - 使用 jquery validate 插件验证最少人数最多人数字段
问题描述
在我的表格中,我允许在文本框中输入最少人数和最多人数。我已经用 min 参数进行了验证,它应该是最小的 1。但是我怎样才能验证最小人数字段也应该小于最大人数,反之亦然。最小人数和最大人数也不应相同。任何人都可以帮助我如何做到这一点?提前致谢!
$("#frmCont").validate({
rules:{
name:{ required:true},
min_persons:{ digits:true,min:1 },
max_persons:{ digits:true,min:1 },
duration:{ digits:true,min:1 },
price_per_person:{ digits:true,min:1 }
}
});
});
解决方案
您将编写一个返回规则参数的函数,这使得它依赖于另一个字段的值或状态。
$("#frmCont").validate({
rules: {
min_persons: {
required: function(element) {
return $('[name="max_persons"]').is(':filled');
},
digits: true,
min: 1
},
max_persons: {
required: function(element) {
return $('[name="min_persons"]').is(':filled');
},
digits: true,
min: function(element) {
return parseInt($('[name="min_persons"]').val()) + 1;
}
},
....
每个字段仅
required
在填写其他字段时才有效。min
字段上的规则参数max_persons
由字段的值决定min_persons
。这两个字段永远不可能相等,因为其中
min
一个字段的规则总是比另一个字段大一个数字。
工作演示: jsfiddle.net/vxtjbqod/
推荐阅读
- swift - 如何在 Swift 中改进这种非常慢的领域对象排序?
- github - 即使上一步失败,如何运行 github-actions 步骤,同时仍然使作业失败
- python - 使用 NLTK 或 PATTERN 重复标签磁盘“C://C://..spark-core_2.11-2.3.2.jar”之类的导入惰性时,PYTHONPATH 错误 [Windows 123] 与 Pyspark
- python - 在jupyter中通过python进行网络爬行时无法获取整个html表格内容
- visual-studio-code - vscode 从“更改所有匹配项”中取消选择一项
- java - 如何为不同的环境运行 JUnit 5 测试套件 [micronaut 1.2.5]?
- android - 未处理的错误。('平台“android”似乎不是一个有效的cordova平台。它缺少API.js。不支持android。')
- linux - 循环过滤掉apache日志文件中的行
- angular - 发现很难将控制台上显示的数据显示在视图中
- string - 有没有办法在powershell中转义变量调用?