【问题标题】:Validate form before submit jquery在提交 jquery 之前验证表单
【发布时间】:2015-01-24 07:14:16
【问题描述】:

我有一个 HTML 表单。我正在使用jquery.validate.js 验证我的表单,它适用于提交事件。我想在提交被触发之前验证这个表单。

根据我的研究,我尝试过:

$('#my-form').on('before-submit',function(){
   alert('Before submit performed');
});

我想在触发提交事件之前验证表单。 如何做到这一点?

【问题讨论】:

  • 插件已经完成了这一切。请更好地解释正在发生的事情,让您认为您需要另一个活动。请显示您的验证码以及重现您的问题所需的任何其他代码。
  • OP 声明他们想要验证表单before 提交,其中验证插件仅在提交时验证。

标签: jquery forms jquery-validate form-submit


【解决方案1】:

您可以模仿默认的 jQuery 插件行为,如下所示:

测试form是否有效;如果不阻止使用preventDefault() 发生默认操作:

$(document)
.on('click', 'form button[type=submit]', function(e) {
    var isValid = $(e.target).parents('form').isValid();
    if(!isValid) {
      e.preventDefault(); //prevent the default action
    }
});

编辑:如果您想微调验证测试,即有条件地验证某些控件,这会派上用场。

【讨论】:

  • OP 声明他正在使用 jQuery Validation 插件。默认情况下,这个插件已经自动处理了。
【解决方案2】:
First validate and then use submit handler


 <script>
    $().ready(function() {
        $('#addNew').validate({
            rules: {
                patient_first_name: "required",
                patient_last_name: "required"
            },
            messages: {
                patient_first_name: "Please enter first name",
                patient_last_name: "Please enter last name"
    
            },
            submitHandler: function(form) {
                form.submit();
            }
    
            // any other options and/or rules
        });
    });
    </script>

【讨论】:

  • 它使用 jquery 验证。不是吗?
  • 是的,它使用 Jquery 验证
猜你喜欢
  • 2015-03-15
  • 1970-01-01
  • 2023-03-02
  • 1970-01-01
  • 1970-01-01
  • 2012-07-08
  • 1970-01-01
  • 1970-01-01
  • 2016-12-30
相关资源
最近更新 更多