Проверка на стороне клиента при использовании Ajax / jQuery для отправки формы ASP.NET MVC 3 - PullRequest
1 голос
/ 16 октября 2011

У меня проблемы с проверкой на стороне клиента при использовании Ajax и jQuery для обработки разрешения формы при использовании ASP.NET MVC 3.

Проверка работоспособности модели на стороне сервера работает, однако следующеесниппет не запускает оценку на стороне клиента.

Я что-то упустил?

@model ViewModels.LeadDetailModelCore
@{using (Html.BeginForm("UpdateCore", "Leads", new { area = "Telesales" }, FormMethod.Post, new { id = "coreSave" }))
  {

    @Html.AntiForgeryToken()
    @Html.ValidationSummary(true)
    @Html.HiddenFor(model => model.Lead_ID)

                    @Html.LabelFor(model => model.LeadStatus_ID)
                    @Html.DropDownListFor(model => model.LeadStatus_ID, new SelectList(Model.LeadStatuses, "LeadStatus_ID", "LeadStatus_Name"), "-- Please select a status --")
                    @Html.ValidationMessageFor(model => model.LeadSource_ID)

     }}
    <script type="text/javascript">
    // NOTE ADD

    $(function () {

        $('#coreSave').die().live("submit", function (e) {
            e.preventDefault();
            var form = $(this);

            var val = form.validate()
            if (val.valid()) {
                $("#ProgressDialog").dialog("open");

                // post via ajax
            }


            return false;
        });
    });

</script>

1 Ответ

6 голосов
/ 16 октября 2011

Убедитесь, что вы включили правильные сценарии:

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

и что вы вручную анализируете валидацию для всех динамических элементов DOM. Поэтому каждый раз, когда вы обновляете DOM, вы должны регистрировать подтверждение клиента, если эта форма не была частью DOM при первоначальной загрузке страницы:

$.validator.unobtrusive.parse($('#coreSave'));

Вы также можете найти следующий ответ полезным для использования диалогового окна jQuery с частичными представлениями.

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