इसे हल करने के 3 तरीके हैं:
- अधिकतम जानकारी को फ्रंट-एंड पर स्थानांतरित करें
- जांचें कि उपयोगकर्ता कब सबमिट करता है
- एसिंक्रोनस डेटा जांच, जैसे
Jquery
अजाक्स
अधिकतम जानकारी को फ्रंट-एंड पर स्थानांतरित करें
बस अपनी अधिकतम जानकारी को किसी छिपे हुए क्षेत्र में रखें, और उसे प्राप्त करने और जांचने के लिए जावास्क्रिप्ट का उपयोग करें।
function check(obj){
var max = obj.getAttribute("data-max");
if(parseInt(obj.value) > parseInt(max)){
alert("Amount out of max!");
}
}
<input name="amount" value="0" data-max="3" onkeyup="check(this);"/>
लेकिन यह तरीका अनुशंसित नहीं है और इससे बचना चाहिए, क्योंकि उपयोगकर्ता स्रोत कोड की जांच करके आपका संग्रहण डेटा प्राप्त कर सकते हैं।
जांचें कि उपयोगकर्ता कब सबमिट करता है
सर्वर-साइड पर अधिकतम मूल्य के साथ राशि की जांच करें, जिससे खराब उपयोगकर्ता अनुभव होता है।
एसिंक्रोनस डेटा जांच
यह ज्यादातर अनुशंसित और उपयोग किया जाता है, जो डेटा को अतुल्यकालिक रूप से प्राप्त करते हैं। आप jquery
try आज़मा सकते हैं ।
मान लें कि आपका सर्वर-साइड लैंग php
है , आप एक फ़ाइल बना सकते हैं checkMax.php
:
<?
$amount = $_POST["amount"];
$item_id = $_POST["item_id "];
/* get your max data from database using item_id, then assign $max
...
*/
echo $amount > $max ? 1 : 0
फिर आप jquery ajax द्वारा राशि की जांच कर सकते हैं।
<input name="amount" class="amount" data-id="1" value="0"/>
$(".amount").change(function(){
var amount = $(this).val();
var item_id = $(this).attr("data-id");
$.post("checkMax.php", {"amount": amount, "item_id": item_id}, function(data){
if(data == "1")alert("Amount out of Max!");
});
});