我正在尝试验证抵押月份字段,该字段将验证输入是否(必须存在。必须是数字。必须等于当前月份或大于当前月份的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
答案 0 :(得分:0)
如果您只想要一条消息,那么只需在该消息的if
条件内添加一个返回值,如下所示:
if (month.length === 0) {
errMessages += "<li>Mortgage Month can't be left empty</li>";
return errMessages;
}
如果你真的只想要一个,你可以将它添加到每个if
条件中。