我有一个带有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 :(得分:2)
1)您需要将验证规则放在规则对象中。
2)你的if语句错了。如果另一个输入为空(required: true
),则需要输入(otherInput.val().length == 0
)。
3)您需要为输入指定名称属性。
$("#myForm").validate({
rules: {
firstInput: {
required: function(element){
return $(".cellphone").val().length == 0;
}
},
secondInput: {
required: function(element){
return $(".telephone").val().length == 0;
}
}
}
});
&#13;
<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>
&#13;