JQuery 验证器不会验证表单,除非输入填充了所需的值并发送一次



我正在尝试在使用 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 事件处理程序中调用它,而是在开始时调用它。

最新更新