简体   繁体   English

Formvalidation中的JavaScript错误消息

[英]JavaScript Error Messages in Formvalidation

I am having difficulties with deleting the custom error messages in my form validation. 我在删除表单验证中的自定义错误消息时遇到困难。 Each time I submit the form, the messages replicates and I dont know how I can delete them if a field is valid. 每次我提交表单时,消息都会复制,并且我不知道如何在字段有效的情况下删除它们。 I am pleased to hear your answers! 我很高兴听到您的答复!

form.onsubmit = function valCheck(ev) {
  ev.preventDefault();

  var fields = ev.target
  console.log(fields);

  var nameVal = /^[a-zA-ZäÄüÜöÖáàiìíéèóòúù `´,.'-]+$/;
  var emailVal = /[^\s@]+@[^\s@]+\.[^\s@]+/;

  for (var i = 0; i < formLen; i++) {
    var errorText = document.createElement('P');
    div[i].appendChild(errorText);
    console.log(errorText);

    if (fields[i].value === "") {
        errorText.innerHTML = "This field should not be empty"
    }
    else if (fields[i].type == "text") {
      if (!fields[i].value.match(nameVal)) {
        errorText.innerHTML = "no numbers allowed"
      }
    }
    else if (fields[i].type == "email") {
      if (!fields[i].value.match(emailVal)) {
        errorText.innerHTML  = "insert a valid adress"
      }
    }
    else if (fields[i].type == "checkbox") {
      if (!fields[i].checked) {
        errorText.innerHTML = "checkbox need to be checked"
      }
    }
    else if (fields[i].type == "radio") {
      if (fields[i].checked) {
        errorText.innerHTML = "you need to select something"
      }
    }
  }
}

I believe you may just to assign empty value to errorText.innerHTML before validation: 我相信您可以在验证之前将空值分配给errorText.innerHTML

form.onsubmit = function valCheck(ev) {
  ev.preventDefault();

  errorText.innerHTML = '';

  // setting non-empty errorText.innerHTML if form is not valid
  // ...
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM