多个字段的Javascript验证

时间:2013-11-18 11:39:38

标签: javascript forms validation

我目前有这段代码:

:javascript
  function showstuff(alert){
     document.getElementById(alert).style.display="inline";
  }



:javascript

  function validateForm()
  {

  var x=document.forms["form"]["name"].value;
  if (x==null || x=="")
    {


    showstuff('alert');
    return false;
    }
  }


.alert.alert-danger{:id => "alert", :style => "display:none"} 
  %strong Error 
  \- Please make sure you fill out all the required fields!

哪个适用于一个字段,但是有一种简单的方法可以使它适用于4个不同的字段,而不是复制和粘贴代码四次吗?

2 个答案:

答案 0 :(得分:0)

您可以遍历表单的字段

var field, x;


for(var i in document.forms['form'])
{ 
  if(document.forms['form'].hasOwnProperty(i))
  {
      field = document.forms['form'][i];
      x = field.value;
      // Do your validation here for that field
  }
}

或者,如果您想指定要验证的字段

function validateForm(fields)
{
     var x;
     for(var i = 0; i < fields.length; i++)
     {
         x=document.forms["form"][fields[i]].value;
         if (x==null || x=="")
         {
           showstuff('alert');
           return false;
         }
     }
}

validateForm(['name', 'name_of_other_field']);

答案 1 :(得分:0)

  function validateForm()
  {
      var valid = true;
      var fieldNames = ["name", "age", "city"];
      for(var i = 0; i < fieldNames.length; i++){
          valid = (validateField(fieldNames[i]) && valid) ? true:false;
      }
  }

  function validateField(fieldName){
     if (!document.forms["form"][fieldName].value)
     {
         return showstuff('alert');
     }
  }