jQuery 验证 - 如何验证输入的数字是否高于另一个?

jQuery Validate - How can I validate if a number input is higher than another?

我的表单中有以下输入:

<h4>Precio de compra:</h4>
Gs. <input required class="corto2" type="number" placeholder="Precio de compra" id="pcompra" name="pcompra" value="{{request.form.pcompra}}">
<h4>Precio de venta:</h4>
Gs. <input required class="corto2" type="number" placeholder="Precio de venta" id="pventa" name="pventa" value="{{request.form.pventa}}">

我的 jquery 验证脚本的规则如下:

$(document).ready(function () {
    $('#form').validate({
        rules: {
            pcompra: {
                required: true,
            },
            pventa: {
                required: true,
            },
        }
   }
}

我正在寻找的不是根据硬编码值验证 pventa,例如 min: 20,我想要的是检查 pventa 值是否高于 pcompra.

的值

我可以用 jvalidate 的规则方法实现吗?或者我必须添加自己的 rule/function?

PS: 它是 flask 网络应用程序的一部分,因此请忽略带有 jinja2 语法的部分 ({{"something"}})

使用jQuery.validator.addMethod():

$(document).ready(function () {
    jQuery.validator.addMethod("comparison", function (value, element) {
        var pcompra = $("#pcompra").val();
        return this.optional(element) || value > pcompra;
    });
    $("#form").validate({
        rules: {
            pcompra: {
                required: true,
                number: true
            },
            pventa: {
                required: true,
                number: true,
                comparison: true
            }
        },
        messages: {
            pcompra: {
                required: 'This field is required.',
                number: 'Please enter a valid number.'
            },
            pventa: {
                required: 'This field is required.',
                number: 'Please enter a valid number.',
                comparison: 'This field should larger than field pcompra'
            }
        }
    });
});