Подтвердить что ты не робот

Включить проверку клиента в представлениях Razor (ASP MVC 3)

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

@Html.EnableClientValidation()

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

Сообщение об ошибке компилятора: CS1502: наилучшее перегруженное соответствие метода для "Microsoft.WebPages.WebPageUltimateBase.Write(Microsoft.WebPages.Helpers.HelperResult)" содержит некоторые недопустимые аргументы

Это работает для кого-то еще, или это другой подход для этого в ASP MVC 3?

4b9b3361

Ответ 1

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

@(ViewContext.ClientValidationEnabled = true)

Возможно, надзор в методах расширения для htmlhelper.

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

@{ Html.EnableClientValidation(); }

Ответ 2

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

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

Ответ 3

этот тег

     @{ Html.EnableClientValidation(false); }

должен появиться перед

  @using (Html.BeginForm())

Ответ 4

Вы используете элемент 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), вставленный на мою страницу просмотра.

Ответ 5

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

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

             <td>@Html.EditorFor(m => m.Email)</td>