首页 > 解决方案 > 如果达到限制,使用验证来防止用户添加到数据库

问题描述

我目前正在尝试对我的项目进行一些验证,目前我正在阻止用户在数量达到最大值时无法向数据库添加新数量。我正在使用 Ajax 追加在页面上显示数据,并使用表单向总量添加更多。

    <script>
    $(document).ready(function() {

        var url = window.location.href;
        var id = url.substring(url.lastIndexOf('=') + 1);

        $.ajax({
            type: 'GET',
            url: 'http://localhost:8080/getstockitem?id=' + id,
            dataType: "json",
            success: function(data) {
                if (data) {
                    for (let i = 0; i < data.length; i++) {

                        console.log(data);


                        $("#itemName").append($('<p class="itemStaticText">Name: </p><p class="itemInfoText">' + data[i].stock_name + '</p>'));
                        $("#itemDescription").append($('<p class="itemStaticText">Description: </p><p class="itemInfoText itemDescriptionText">' + data[i].stock_description + '</p>'));
                        $("#itemQuantity").append($('<p class="itemStaticText">Quantity: </p><p class="itemInfoText" id="quantity">' + data[i].stock_quantity + '</p>'));
                        $("#itemShelf").append($('<p class="itemStaticText">Shelf Number: </p><p class="itemInfoText">' + data[i].shelf_number + '</p>'));
                        $("#itemRack").append($('<p class="itemStaticText">Rack Letter: </p><p class="itemInfoText">' + data[i].rack_letter + '</p>'));
                        $("#itemPrice").append($('<p class="itemStaticText">Price (£): </p><p class="itemInfoText">' + data[i].stock_price + '</p>'));

                    }
                }
            }
        });
    });
</script>

验证代码如下所示:

function validateQuantity() {


        var quantity=document.quantityForm.quantity.value;
        var checkQuantity=document.getElementById("quanitity").value;


        if (isNaN(quantity)){
            alert("Please enter a valid number!");
            document.quantityForm.quantity.focus();
            return false;
        }else if (quantity > 1000){
            alert("Please enter a number below 1,000!");
            document.quantityForm.quantity.focus();
            return false; 
        } else if (checkQuantity > 1000) {
            alert("You have reached maximum capacity!");
            document.quantityForm.quantity.focus();
            return false;
        } else {
            return true;
        }
    }

目前,即使总量高于 1,000,它仍然允许用户向数据库中添加更多内容,是否有什么我遗漏或没有做对的事情,因为我无法弄清楚如何阻止用户添加更多内容如果通过验证已达到最大数量,则将其输入数据库。

标签: javascripthtmlnode.jsajax

解决方案


推荐阅读