Jquery Validator:验证表单而不提交

时间:2010-10-01 22:31:08

标签: jquery asp.net-mvc-2 jquery-validate

您好我想使用按钮验证表单,但是此按钮调用.ajax函数来提交表单。

我该怎么做?我正在寻找。

我有一种方法,但我想知道是否有一种简单的方法。

我完成此任务的方式是:

的Javascript

jQuery(document).ready(function () {
      $(ACCION).validate({
                rules: {
                    StartDate: {
                        required: true,
                        australianDate: true

                    },
                    EndDate: {
                        required: true,
                        australianDate: true

                    }

                }
            });

        });
 function Mostrar() {
        var textBox = $("#StartDate");
        var textBox2 = $("#EndDate");
        if (textBox.valid() == true & textBox2.valid() == true) {
            var fechaIn = document.getElementById('FechaInicio').value;
            var fechaFin = document.getElementById('FechaFin').value;                
            jQuery(NOMBRE_GRID).setGridParam({ postData: { fecha1: textBox.val(), fecha2: textBox2.val()} })
                            .trigger('reloadGrid');
        }
    }

HTML

<form id="myForm" method="post" action="">

            <div class="editor-label">
                <%= Html.Label("Fecha Inicio") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("StarDate", DateTime.Now.ToString("yyyy-MM-dd"))%>
            </div>
            <div class="editor-label">
                <%= Html.Label("Fecha Final") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("EndDate", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))%>
            </div>           
            <input class="button button-big" name="Submit" type="button" value="Buscar Registros"
                onclick="Mostrar();" />
</form>

我想知道有没有一种方法来验证整个表单,而不是使用valid()。

谢谢!

2 个答案:

答案 0 :(得分:3)

您还可以在表单上调用.valid()以进行完整验证:

if($("#myForm").valid()) {

答案 1 :(得分:0)

另一种选择:

<强> HTML     

            <div class="editor-label">
                <%= Html.Label("Fecha Inicio") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("StarDate", DateTime.Now.ToString("yyyy-MM-dd"))%>
            </div>
            <div class="editor-label">
                <%= Html.Label("Fecha Final") %>
            </div>
            <div class="editor-field">
                <%=Html.TextBox("EndDate", DateTime.Now.AddDays(1).ToString("yyyy-MM-dd"))%>
            </div>           
            <input class="button button-big" name="Submit" type="submit" value="Buscar Registros">

<强>的Javascript

jQuery(document).ready(function () {
$(ACCION).validate({
                submitHandler: function (form) {
                    var fechaIn = document.getElementById('StartDate').value;
                    var fechaFin = document.getElementById('EndDate').value;
                    jQuery(NOMBRE_GRID).setGridParam({ postData: { fecha1: fechaIn, fecha2: fechaFin} })
                                .trigger('reloadGrid');
                },
                rules: {
                    StartDate: {
                        required: true,
                        australianDate: true

                    },
                    EndDate: {
                        required: true,
                        australianDate: true

                    }

                }
            });
    });