Как вручную вызвать проверки формы перед отправкой формы с помощью jQuery в mvc2 - PullRequest
1 голос
/ 19 июля 2011

Я использую MVC 2, мой взгляд выглядит следующим образом

<% using (Html.BeginForm("ApplyLeave", "ESS", FormMethod.Post, new { id = "formApplyLeave" }))
       { %>
    <fieldset>            
        <div>
            <div>
                <label for="FromDate">
                    From</label></div>
            <div>
                <%=Html.TextBoxFor(l => l.FromDate, new { id = "FromDate", name = "FromDate", maxlength = 10 })%>
            </div>
            <div>
                <%=Html.ValidationMessageFor(l => l.FromDate)%></div>
        </div>
        <div>
            <div>
                <label for="ToDate">
                    To</label></div>
            <div>
                <%=Html.TextBoxFor(l => l.ToDate, new { id = "ToDate", name = "ToDate", maxlength = 10 })%>
            </div>
            <div>
                <%=Html.ValidationMessageFor(l => l.ToDate)%></div>
        </div>            
    </fieldset>
    <% } %>

и для отправки формы я использую jquery как

       $('#formApplyLeave').submit();

Я написал валидацию в атрибутах в модели.

Здесь я могу отправить форму, но проверка не запускается. Как запустить проверку в jquery перед отправкой формы.

пожалуйста, помогите.

Ответы [ 3 ]

1 голос
/ 19 июля 2011
var form = $('#formApplyLeave');
var context = Sys.Mvc.FormContext.getValidationForForm(form.get(0));
if (context.validate().length < 1) {
    // The form passed client side validation => you may submit it
    form.submit();
}
0 голосов
/ 19 июля 2011

У ScottGu есть хорошая статья, которая описывает, что вам нужно:

http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

Вы пропускаете звонок и немного MS JS.

0 голосов
/ 19 июля 2011

Вы можете использовать обратный вызов beforeSubmit для установки значений:

или с использованием метода проверки плагина jQuery

попробуй вот так ~

$(document).ready(function() {
    $("#form1").submit(function() {
        $("#txt1").val("123");

        $("#form1").validate({
            rules: {
                    txt1: {
                            maxlength: 3
                    }
            }
        });
    });
});

Этот способ проверки запускается вашим обработчиком события отправки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...