2017-04-13 75 views
0

我在我的形式是輸入:jQuery驗證 - 如何驗證數字輸入是否高於另一個?

<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對硬編碼值,如最小:20,我想要的是檢查pventa的值是否高於值pcompra

我可以用jvalidate的規則方法來實現嗎?或者我將不得不添加自己的規則/功能?

PS:這是一個燒瓶Web應用程序的一部分,所以忽略了與Jinja2的語法部分({{ 「東西」}})

回答

1

使用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' 
      } 
     } 
    }); 
}); 
+0

爲不工作一些價值,但是正確的解決方案..我只需要調整一些事情,使其完美。謝謝! –