Включить проверку клиента в представлениях Razor (ASP MVC 3)
Я пытаюсь добавить проверку на стороне клиента, используя эту строку кода:
@Html.EnableClientValidation()
Но я продолжаю получать это сообщение об ошибке:
Сообщение об ошибке компилятора: CS1502: наилучшее перегруженное соответствие метода для "Microsoft.WebPages.WebPageUltimateBase.Write(Microsoft.WebPages.Helpers.HelperResult)" содержит некоторые недопустимые аргументы
Это работает для кого-то еще, или это другой подход для этого в ASP MVC 3?
Ответы
Ответ 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>