因此,我正在用价格和用户从下拉菜单选择框中选择一个选项,或者要么将自己的价格放在输入值中。他不需要两个值,但是我想检查这两个值中的任何一个都不满足并使用jQuery验证插件显示错误。
所以这是形式。
<div class="col-sm-12">
<label for="price">Price</label>
<div class="form-inline">
<div class="input-group">
<div class="input-group-addon">€</div>
<input type="text" class="form-control" name="price" id="price" placeholder="0" data-error="Please insert price for your item" required value="">
</div>
<strong class="text-center"> <?php _e('or') ?> </strong>
<select class="form-control" id="conditional_price" name="conditional_price" placeholder="Select">
<option value="" <?php echo $conditional_price == '' ? 'selected' : '' ?>>Select</option>
<option value="1" <?php echo $conditional_price == '1' ? 'selected' : '' ?>>Free</option>
<option value="2" <?php echo $conditional_price == '2' ? 'selected' : '' ?>>Deal</option>
</select>
</div>
<label for="price" class="validation-error-message text-danger"></label>
<label for="conditional_price" class="validation-error-message text-danger"></label>
</div>
我尝试了各种选项,但没有任何可行,这是到目前为止有效的部分作用
rules: {
offers: 'required',
title: 'required',
price: {
required: function(element) {
return $("#conditional_price").is(':empty');
}
},
conditional_price: {
required: function(element) {
return $("#price").is(':empty');
}
}
},
因此,在单击提交按钮时,我们应该检查这两个中的任何一个是否有效。如果用户将价格提高到继续,如果用户将选择的选择多于继续,但是如果这两个都没有填充(如果用户不填写价格,也不会选择任何东西(以显示错误或从下拉订单中选择。
您的代码是正确的,除了一件事。您正在使用SELECT,而Select的is(":empty")
将始终返回false。您可以使用此。
rules: {
offers: 'required',
title: 'required',
price: {
required: function(element) {
return $("#conditional_price").val() == "";
}
},
conditional_price: {
required: function(element) {
return $("#price").val() == "";
}
}
},
$("#conditional_price").val() == ""
选择第一个选项(带有Value ="(时将返回true。