如果用户输入的长度小于最小长度,则显示错误消息

Display error message if user entered less than minimum length

本文关键字:显示 消息 错误 小于 用户 输入 如果      更新时间:2023-09-26

如果用户输入<最小长度这是我的代码。。

<!DOCTYPE>
<HTML>
<form name="form" action="action.php" method="post" onsubmit="return validate()">
  <span>Name</span><br>
  <input type="text" name="firstName" id="firstName" maxlength="20">
&nbsp;<label id="error"></label>&nbsp;<label id="errorAlpha">
  </label>&nbsp;<label id="errorMinOne"></label>
</HTML>
<javascript>
function validate()
{
  var valid = true;
  var alphabet =/^[a-zA-z ]+$/;
  if(firstName.value.match(alphabet) || firstName.value=="")
  {
    document.getElementById('errorAlpha').innerHTML=""; 
  }
  else
  {
    document.getElementById('errorAlpha').innerHTML="*Invalid Name";
    document.getElementById('errorMinOne').innerHTML="";
    valid=false;
  }
  if(firstName.value.length<2)
  {
    document.getElementById('errorMinOne').innerHTML="*Name is too short";
    valid =false;
  }
  else
  {
    document.getElementById('errorMinOne').innerHTML="";
  }
}
if(firstName.value=="" && lastName.value=="")
{
  document.getElementById('error').innerHTML="*Field is empty";
  document.getElementById('errorTwo').innerHTML="*Field is empty";
  document.getElementById('errorMinOne').innerHTML="";
  valid = false;
}
if(firstName.value!="" && lastName.value=="")
{
  document.getElementById('error').innerHTML="";
  document.getElementById('errorTwo').innerHTML="*Field is empty";
  valid = false;
}
if(firstName.value=="" && lastName.value!="")
{
  document.getElementById('error').innerHTML="*Field is empty";
  document.getElementById('errorTwo').innerHTML="";
  valid = false;
}
if(firstName.value!="" && lastName.value!="")
{
  document.getElementById('error').innerHTML="";
  document.getElementById('errorTwo').innerHTML="";
}
</javascript>

错误是,当我键入1时,它同时显示*无效名称和*名称太短,我希望它只显示*无效姓名。。请帮忙感谢

在每个if子句的末尾都返回false:

if((firstName.value.match(alphabet) || firstName.value=="") && firstName.value.length<2)
{
    document.getElementById('errorMinOne').innerHTML="*Name is too short";
    return false;
}

将前三个if-else语句更改为:

if(firstName.value.match(alphabet) || firstName.value=="")
{
     document.getElementById('errorAlpha').innerHTML="";    
}
else
{
    document.getElementById('errorAlpha').innerHTML="*Invalid Name";
    document.getElementById('errorMinOne').innerHTML="";
    valid=false;
}
if((firstName.value.match(alphabet) || firstName.value=="") && firstName.value.length<2)
{
    document.getElementById('errorMinOne').innerHTML="*Name is too short";
    valid = false;
}