Удаленная проверка не работает - PullRequest
0 голосов
/ 05 мая 2011

Я пытаюсь сделать работу удаленной проверки в ASP MVC3.Я потратил несколько часов, читая и пробуя это, но я не достиг этого.

Прежде всего ... Я добавил эти строки в appSettings в файле Web.config

<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>

Затем я создаю класс с dataanotations.

Public Class PackageCreationInfo

    'Lot of Properties here...
    <DisplayName("Id Modalidad")>
    <Remote("ModeExists", "PreactivatedLicenses", AdditionalFields:="IdVersion")>
    Public Property IdMode As Integer
    <Required(ErrorMessage:="La Versión es obligatoria")>
    <DisplayName("Id Versión")>
    Public Property IdVersion As Integer

End Class

На мой взгляд, я добавил эти сценарии

<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>

И у меня есть эти в моем _layout

  <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>  
    <script src="@Url.Content("~/Scripts/jquery-ui.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.datepick-es.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/Plugins/Expander/expand.js")" type="text/javascript"></script>

Затем, в моем контроллере есть эта функция

 Public Function ModeExists(ByVal IdMode As Integer, IdVersion As Integer) As JsonResult

            Dim ExistModeForThisVersion As Boolean = _ProductApps.ExistModeForVersion(IdMode, 13)

            If (ExistModeForThisVersion) Then
                Return Json(String.Format("Esta modalidad no está disponible en la versión seleccionada."), JsonRequestBehavior.AllowGet)
            Else
                Return Json(True, JsonRequestBehavior.AllowGet)
            End If

        End Function

Моя проблема в том, что я не могу вызвать эту функцию.Факт заключается в том, что сгенерированный HTML не имеет атрибута data-val-remote или чего-то подобного.

Другие проверки клиентов, которые не являются "удаленными", работают правильно.В чем может быть проблема?

Спасибо.

1 Ответ

0 голосов
/ 05 мая 2011

Извините ... Я совершил глупую ошибку (еще одну)

Я напишу здесь свою ошибку как покаяние, потому что есть удаленная возможность, которая помогает кому-то.

На мой взгляд ... Я написал

 @Html.DropDownList("IdProgramMode", New SelectList(ViewBag.ProductModesList, "Id", "Mode"))
 @Html.ValidationMessageFor(Function(model) model.IdMode)

Но это должно быть

 @Html.DropDownList("IdMode", New SelectList(ViewBag.ProductModesList, "Id", "Mode"))
 @Html.ValidationMessageFor(Function(model) model.IdMode)

Важно, чтобы имя поля совпадало с именем свойства.В противном случае ничего не произойдет.

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