Jquery 需要基于彼此的字段';s值
我有上面的字段,我想要求他们至少输入一个大于0的值,但他们也可以有桌子和座位 我的HTML:Jquery 需要基于彼此的字段';s值,jquery,jquery-validate,Jquery,Jquery Validate,我有上面的字段,我想要求他们至少输入一个大于0的值,但他们也可以有桌子和座位 我的HTML: <div class="form-row reserve"> <input type="text" name="tables" id="tables" value="0"/> <label for="tables">corporate tables (10 seats) @ $1,950 each and/or</label>
<div class="form-row reserve">
<input type="text" name="tables" id="tables" value="0"/>
<label for="tables">corporate tables (10 seats) @ $1,950 each and/or</label>
</div>
<div class="form-row reserve">
<input type="text" name="individual" id="individual" value="0"/>
<label for="individual">individual seats @ $225 each</label>
</div>
任何帮助都将不胜感激 您不能在
规则中使用这样的函数<代码>必需:
通常只接受true
或false
。但是,您也可以使用来指定true/false
规则中的函数
rules: {
tables: {
required: {
depends: function(element) {
return $("#individual").val() === 0;
}
}
}
}
但是,使用上述方法,您的表单将始终通过验证,因为这两个字段从不为空(它们包含“0”)。因此,始终满足所需的规则。见:
您无法通过从两个字段中删除默认值0
来解决此问题,因为dependens
函数永远不会满足,并且字段仍然是可选的。见:
或者,您也不能通过将依赖项
应用于min:1
规则来解决此问题,因为它只允许与真
或假
规则一起使用
最好的解决方案是对这两个字段进行调整。使用“小于或等于”运算符(
rules: {
tables: {
required: {
depends: function(element) {
return $("#individual").val() === 0;
}
}
}
}
$.validator.addMethod("myMethod", function (value, element) {
if (($("#individual").val() <= 0) && ($("#tables").val() <= 0)) {
return false;
} else {
return true;
}
}, "Please enter at least one field");