如何一起显示验证消息

How to show the validation messages together

本文关键字:显示 验证 消息 一起 何一起      更新时间:2023-10-16

如果不满意,我需要您的助手和帮助修改下面的代码,以显示验证消息,而不是一个接一个。我的代码是:

function validateForm()
 {
            var x = "";
            var y = "";

      if ( (RFC.C1.checked) && (!RFC.Language_e.checked || !RFC.Language_e.checked  ))
        {
        y += "Please Select the Language";
        document.getElementById('error').innerHTML = y;
        return false;
        }         
      else if (document.RFC.Reason.value=="")
        {
        x += "Please enter a Reason";
        document.getElementById('error').innerHTML = x;
        return false;
        }    
        else
        {
        return true;
        }

}

此外,验证消息会显示一次,如果用户没有更正并提交页面,错误将不会再次显示。你能在这两个问题上帮忙吗?

我会这样做:

function validateForm() {
    var error = "";
    var valid = true;

    if ( (RFC.C1.checked) && (!RFC.Language_e.checked || !RFC.Language_e.checked  )) {
        error += "<li><a href='"#lang'">Please Select the Language</a></li>";
        valid = false;
    }         
    else if (document.RFC.Reason.value=="") {
        error += "<li><a href='"reason'">Please enter a Reason</a></li>";
        valid = false;
    }    
    if(valid === false) {
        document.getElementById('error').innerHTML = "<ul>" + error + "</ul>";
    }
    return valid;
}
  • 获取并存储所有错误
  • 如果出现任何单个或多个错误,请将有效布尔值更改为false
  • 只有出现错误时才会显示
  • 链接到页面中的错误位置以便于导航
    function validateForm()
    {
          var x = "";
          var y = "";
          var z = "";
          if ( (RFC.C1.checked) && (!RFC.Language_e.checked || !RFC.Language_e.checked) )
          {
            y += "Please Select the Language";
            document.getElementById('error').innerHTML = y;
            return false;
          }         
          else if ( document.RFC.Reason.value=="" )
          {
            x += "Please enter a Reason";
            document.getElementById('error').innerHTML = x;
            return false;
          } 
          else if ( ((RFC.C1.checked) && (!RFC.Language_e.checked || !RFC.Language_e.checked  )) && (document.RFC.Reason.value=="") )
          {   
            z += "Please enter a Reason and Language";
            document.getElementById('error').innerHTML = z;
            return false;
          }
          else
          {
            return true;
          }        
    }

顺便说一下,你的代码可以工作,但不太好。你应该读一些关于编程风格的东西。为了获得良好的验证,您可以使用jQueryValidate插件。