我正在尝试在使用 JQuery 验证器发送表单之前验证我的表单,但问题是除非我按一次提交(具有所需的长度(然后开始验证,否则表单不会得到验证。即使我点击提交而没有用最小长度填充输入,它也不会验证。这是我的 HTML:
<form class="newRegister-formBox basketForm" id="confirmPhoneNumberForm" autocomplete="off">
<input autocomplete="off" type="text" name="code" id="code" class="form-control persianDigitInput" placeholder="">
<div class="newRegister-button">
<button type="button" id="send-confirm-phone-number-code" class="animateBtn greenAnimateBtn" >
<i class="fa fa-check"></i>
confirm
</button>
</div>
</form>
这是我的JS代码,我正在使用Backbone JS。我已经定义了按钮的 onclick 事件来校准这个函数:
sendConfirmPhoneNumberCode: function() {
var self = this;
var $form = $("#confirmPhoneNumberForm");
$("<input />").attr("type", "hidden")
.attr("name", "PhoneNumber")
.attr("value", $("input[name='PhoneNumber']").val())
.appendTo($form);
$("#confirmPhoneNumberForm").validate({
rules: {
code: {
required: true,
minlength: 4
}
},
messages: {
code: {
required: $utils.messages.user.required_ConfirmPhoneNumberCode,
minlength: $utils.messages.user.minlength_ConfirmPhoneNumberCode
}
}
});
$("#confirmPhoneNumberForm").validate
调用时会打开验证。不要在 click
事件处理程序中调用它,而是在开始时调用它。