ASP.NET MVC: как проверить форму Ajax с указанным UpdateTargetID? - PullRequest
2 голосов
/ 14 апреля 2010

Я пытаюсь выяснить, как отображать ошибки проверки после того, как пользователь отправляет форму Ajax с установленным свойством UpdateTargetID.

Я озадачен тем, как обновить форму Ajax с ошибками проверки, не возвращая Create PartialView в results div. Если форма действительна, то она должна вернуть Records PartialView.

Create.ascx

<%  Using Ajax.BeginForm("Create", 
                         "Record", 
                         New Record With {.UserID = Model.UserID}, 
                         New AjaxOptions With {
                             .UpdateTargetId = "results", 
                             .LoadingElementId = "loader"
                         })%>        
    Date Located
    <%= Html.TextBoxFor(Function(model) model.DateLocated)%>
    <%= Html.ValidationMessageFor(Function(model) model.DateLocated) %>

    Description
    <%= Html.TextBoxFor(Function(model) model.Description)%>
    <%= Html.ValidationMessageFor(Function(model) model.Description) %>

    <input id="btnSave" type="submit" value="Create" />          

    <span id="loader" class="loader">Saving...</span>
<%End Using%>

Records.ascx

<div id="results">
    ...
</div>

RecordController.vb

Function Create(ByVal newRecord As Record) As ActionResult
    ValidateRecord(newRecord)

    If Not ModelState.IsValid Then
        Return PartialView("Create", newRecord)
    End If

    _repository.Add(newRecord)
    _repository.Save()

    Dim user = _repository.GetUser(newRecord.UserID)
    Return PartialView("Records", user)
End Function

1 Ответ

3 голосов
/ 14 апреля 2010

Невозможно отобразить ошибки проверки, если вы не обновите часть DOM, содержащую элементы, с сообщениями проверки, которая в вашем случае является формой. Таким образом, вы можете поместить всю форму и результат div в частичное, которое будет обновлено. Вы также можете взглянуть на этот пост .

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