检查循环中的必填字段

时间:2018-07-11 13:45:00

标签: jquery

在将所有必填字段发送到数据库之前,我必须检查是否已填写所有必填字段。这是通过IDKarakteristike列完成的。如果该字段是必填字段,则此列的值为True,否则为False。 这是一个代码段:

https://jsfiddle.net/nzx3tdgp/

jQuery有一个问题:首先,它检查按钮单击是否所有必填字段均已通过验证并发送警告,一切正常。但是,当我随后填写未在第一次填写的字段并单击botton时,警告仍然存在。我需要jquery以某种方式循环并再次检查必填字段。有人可以帮我这个代码吗?预先感谢!

$(function () {
    $("#myButton").on("click", function () {
        // Loop all span elements with target class
        $(".IDKarakteristike").each(function (i, el) {
            // Skip spans which text is actually a number
            if (!isNaN($(el).text())) {
                return;
            }

            // Get the value
            var val = $(el).text().toUpperCase();
            var isRequired = (val === "TRUE") ? true :
                             (val === "FALSE") ? false : undefined;

            // Mark the textbox with required attribute
            if (isRequired) {
                // Find the form element
                var target = $(el).parents("tr").find("input,select");

                if(target.val()) {
            return;
        }

                // Mark it with required attribute
                target.prop("required", true);

                // Just some styling
                target.css("border", "1px solid red");
            }
        });
    })
});

2 个答案:

答案 0 :(得分:1)

请在代码中添加jquery validate插件:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js" type="text/javascript"></script>

添加此内容以进行验证:

$.validator.addClassRules({
        IDKarakteristike:{
            required: true
        }
    });

答案 1 :(得分:0)

为什么不使用原生required HTML属性?

<input type="text" required>