2017-09-13 118 views
0

我有一个从2输入字段:手机和电话。我希望这些字段中至少有一个是必需的,这样表单才能被引用。您可以输入手机号码,不再需要电话输入或以其他方式输入。必需=“必需”输入字段有条件的另一个输入字段

<input class="form-control telephone" type="text" placeholder="Telephone" required="required" maxlength="100" pattern="^\+?[0-9 /-]*$"/> 

<input class="form-control cellphone" type="text" placeholder="Cellphone" required="required" maxlength="100" pattern="^\+?[0-9 /-]*$"/> 

我发现Jquery验证器有条件声明,但我不知道如何使用它们或他们没有在我的代码中工作。继承人我有什么

$("#myForm").validate({ 
firstInput: { 
    required: function(element){ 
     return $(".cellphone").val().length > 0; 
    } 
}, 
secondInput: { 
    required: function(element){ 
     return $(".telephone").val().length > 0; 
    } 
} 
}); 
+0

你可以做到这一点,即使没有使用jQuery validator.You只需要访问这两个字段的值,并检查是否都没有empty.Then如果两个都是空的,那么你只阻止提交并显示错误 – Debabrata

回答

2

1)您需要将验证规则放在rules对象中。

2)你的if语句是错误的。如果另一个输入为空(otherInput.val().length == 0),则需要输入(required: true)。

3)您需要为输入指定名称属性。

$("#myForm").validate({ 
 
    rules: { 
 
    firstInput: { 
 
     required: function(element){ 
 
      return $(".cellphone").val().length == 0; 
 
     } 
 
    }, 
 
    secondInput: { 
 
     required: function(element){ 
 
      return $(".telephone").val().length == 0; 
 
     } 
 
    } 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js"></script> 
 
<form id='myForm'> 
 
    <input class="form-control telephone" type="text" placeholder="Telephone" maxlength="100" name="firstInput" pattern="^\+?[0-9 /-]*$"/> 
 
    <input class="form-control cellphone" type="text" placeholder="Cellphone" name="secondInput" maxlength="100" pattern="^\+?[0-9 /-]*$"/> 
 
    <input type="submit"> 
 
</form>

+0

完美!谢谢! – pepote

相关问题