Включить проверку клиента в представлениях Razor (ASP MVC 3) - PullRequest
38 голосов
/ 12 сентября 2010

Я пытаюсь добавить проверку на стороне клиента, используя эту строку кода:

@Html.EnableClientValidation()

Но я продолжаю получать это сообщение об ошибке:

Ошибка компилятораСообщение: CS1502: наилучший перегруженный метод сопоставления для «Microsoft.WebPages.WebPageUltimateBase.Write (Microsoft.WebPages.Helpers.HelperResult)» имеет несколько недопустимых аргументовэто другой подход для этого в ASP MVC 3?

Ответы [ 5 ]

75 голосов
/ 12 сентября 2010

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

@(ViewContext.ClientValidationEnabled = true)

Вероятно, упущение в методах расширения для htmlhelper.

На самом деле, вы можете использовать метод HtmlHelper, выполнив следующее

@{ Html.EnableClientValidation(); }
67 голосов
/ 05 декабря 2010

Эй, в ASP.NET MVC3 нет необходимости добавлять Html.EnableClientValidation () на страницу просмотра, вместо этого просто включите clientValidation в файле webconfig, как показано ниже:

<appSettings>
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
6 голосов
/ 02 мая 2011

этот тег

     @{ Html.EnableClientValidation(false); }

должен предшествовать

  @using (Html.BeginForm())
4 голосов
/ 04 января 2011

Используете ли вы элемент html <form> на своей странице вместо Html.BeginForm для создания HTML-формы.

У меня была точно такая же проблема, и я решил, что это потому, что я не использовал Html.BeginForm для создания своей ФОРМЫ, что привело к требуемым входным атрибутам data-val-required="The Email field is required." data-val="true" class="input-validation-error, а заполнитель для проверки не вводился на страницу несмотря на то, что на моей странице просмотра было вставлено @Html.ValidationMessageFor(m => m.User.Role).

0 голосов
/ 06 мая 2014

В моем случае я не использовал EditorFor, а TextBoxFor!

Убедитесь, что вы используете:

             <td>@Html.EditorFor(m => m.Email)</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...