Jquery单个验证表单在多个字段中

时间:2014-09-25 10:21:38

标签: javascript jquery validation

我想要验证3个字段验证所有3个字段,并且如果填写了至少一个字段,则允许提交表单。我无法做到这一点。

请检查我的代码:

<script type="text/javascript">
    $(function(){  
        $("#field1").validate({
            expression: "if (VAL) return true; else return false;",
             message: "Please enter username!",
        });                
         $("#field2").validate({
            expression: "if (VAL) return true; else return false;",
             message: "Please enter username!",
        });
        $("#field3").validate({
            expression: "if (VAL) return true; else return false;",
             message: "Please enter username!",
        });

    });          
 </script>

HTML -

<form>
  <input type="text" id="field1" />  <!-- username1 -->
  <input type="text" id="field2" />  <!-- username2 -->
  <input type="text" id="field3" />  <!-- username3 -->
  <input type="submit id="submit" value="Submit" />
</form>

在上面的代码中,验证需要填写所有字段。但我的要求是只需填写一个字段。如果我保留所有字段,则显示“请输入用户名!”将显示。

JSFIDDLE

1 个答案:

答案 0 :(得分:0)

根据您的要求,请查看:

<form action="" onsubmit="return validateForm();" >
    <input type="text" id="field1" name="field1" />  <!-- username1 -->
    <input type="text" id="field2" name="field2" />  <!-- username2 -->
    <input type="text" id="field3" name="field3" />  <!-- username3 -->
    <input type="submit" id="submit" name="submit" value="Submit" />
</form>

<script>
    function validateForm()
    {
        field1=$('#field1').val();
        field2=$('#field2').val();
        field3=$('#field3').val();

        if(field1 == '' && field2 == '' && field3 == '')
        {
            alert('Please fill atleast one field.');
            return false;
        }
        else
        {
            return true;
        }
    }
</script>