加载微调器的jQuery验证

时间:2014-10-12 23:04:18

标签: jquery asp.net-mvc-3 validation

所以我理解已经分别询问了很多关于Jquery验证库和页面加载微调器的问题,我可以让这两个项目独立工作,但是我并没有很好地使用这两个项目。

简而言之,我有一个使用jQuery验证库的电子邮件表单。当按下“发送”时,我希望加载GIF(已在页面上,但display: none)在控制器执行其业务时变为可见(但仅当字段有效时)。据我所知,我需要在documentation验证页面后使用.valid(),但需要首先运行.validate()。如果我按以下方式处理问题,表单会在GIF播放之前提交:

<script>$("#emailForm").validate();</script>
<script>
    $("#Send").click(function () {
        if($("#emailForm").valid()) { $(".loaderWheel").show(); }
    });
</script>

如果我这样接近,即使表格无效,GIF也会变得可见,并且永远不会再消失:

<script>$("#emailForm").validate();</script>
<script>
    $("#Send").click(function () {
        $(".loaderWheel").show();
        if(!$("#emailForm").valid()) { $(".loaderWheel").hide(); }
    });
</script>

如果表单有效且回传页面正在加载时,如何才能使GIF可见?

1 个答案:

答案 0 :(得分:0)

尝试在验证程序中覆盖submitHandler方法。仅在表单有效时才执行。所以,这个,或类似的东西应该工作。查看文档。

$().ready(function() {
  $("#profile").validate({
    submitHandler: function(form) {
      $("#spinner").show();
      form.submit();
    },
    rules: {
      f_firstName: {
        required  : true,
        minlength : 2
      },
      f_lastName: {
        required  : true,
        minlength : 2
      ...