检查必填字段是否为空

时间:2015-06-02 09:58:37

标签: javascript jquery validation

我想检查必填字段是否为空。 我使用下面的代码。

$(":input").each(function() {
    if($(this).data('label')=='required')
     {
        if($(this).val() === "")
        alert("Empty Fields!!");
     }
});

但它不止一次警觉。 的jsfiddle: http://jsfiddle.net/hbk2a5qo/3/

4 个答案:

答案 0 :(得分:1)

为什么不在HTML中直接使用<input id="name"type="text" data-label="required" required/> 属性:

<div id="container">
<div>

答案 1 :(得分:1)

您需要使用标志

$(document).ready(function () {

    $("#submit").click(function (e) {
        e.preventDefault()
        AlertSave();
    });
});

function AlertSave() {
    //use the flag to set the valid status in the loop
    var valid = true;
    //iterate over only the required elements
    $(':input[data-label="required"]').each(function () {
        if ($(this).val() === "") {
            valid = false;
            return false;
        }
    });

    if (valid) {
        //do your save
    } else {
        alert("Empty Fields!!");
    }
}

演示:Fiddle

答案 2 :(得分:0)

正如您使用$(":input").each()所以它将遍历所有字段。但是你可以使用flag只显示一次警报。

function AlertSave() {
var alertShown=false;   
    $(":input").each(function() {
        if($(this).data('label')=='required')
                        {
   if($(this).val() === "" && !alertShown)
   {
       alertShown=true;
        alert("Empty Fields!!");
   }
  }
});
    }

You Updated Fiddle

答案 3 :(得分:0)

通过使用required属性(建议使用),这将返回没有value的所有必需输入字段:

var inputsWithMissingValues = $('input[required]').filter(function(i, input) {
  return !input.value.length;
});

因此,如果长度大于零,那么您需要缺少值的字段。