当我只想要1时,获取所有返回的错误消息

时间:2016-04-09 17:12:58

标签: javascript

我正在尝试验证抵押月份字段,该字段将验证输入是否(必须存在。必须是数字。必须等于当前月份或大于当前月份的1个月。允许值:01至12个包含)。我的验证似乎正在起作用,但是当我测试评估该字段是否为空时,它会显示每条错误消息,当我只想要一个说它为空的那个时。我该怎么做?谢谢。

我的Javascript函数:

function valMortMonth(errMessages){
var month = document.getElementById("mortMonth").value;
if (month.length === 0) {
errMessages += "<li>Mortgage Month can't be left empty</li>";
}

var monthValue = parseInt(month);

if (isNaN(monthValue)) {
errMessages += "<li>Mortgage Month must be numeric</li>";
}

var month = (new Date()).getMonth() + 1;

if (monthValue < 1 || monthValue> 12) {
errMessages += "<li>Mortgage Month must be between month 1 to 12</li>" ;
}

if (!(monthValue === month || monthValue === month + 1)) {
errMessages += "<li>Month must be equal to current month or 1 greater</li>";
}
return errMessages;
}

HTML:

<label class="label"> Month </label>

      <input type="text" name="mortMonth" id="mortMonth" size="4"   maxlength="2" >

现在输出当字段为空时:

Mortgage Month must be numeric
Mortgage Month must be equal to current month or 1 month greater

1 个答案:

答案 0 :(得分:0)

如果您只想要一条消息,那么只需在该消息的if条件内添加一个返回值,如下所示:

  if (month.length === 0) {
    errMessages += "<li>Mortgage Month can't be left empty</li>";
    return errMessages;
  }

如果你真的只想要一个,你可以将它添加到每个if条件中。