asp.net-mvc - update - sintaxis razor mvc 5
Habilite la validaciĆ³n del cliente en las vistas Razor(ASP MVC 3) (5)
¿Está utilizando el elemento html <form>
en su página en lugar de Html.BeginForm
para crear su Html.BeginForm
html?
Tuve exactamente el mismo problema y Html.BeginForm
que era porque no estaba usando Html.BeginForm
para crear mi FORMULARIO, lo que da como resultado los atributos de entrada requeridos data-val-required="The Email field is required." data-val="true" class="input-validation-error
data-val-required="The Email field is required." data-val="true" class="input-validation-error
y el @Html.ValidationMessageFor(m => m.User.Role)
posición para la validación no se estaba inyectando en la página aunque tenía @Html.ValidationMessageFor(m => m.User.Role)
insertado en mi página de vista.
Intento agregar validación del lado del cliente usando esta línea de código:
@Html.EnableClientValidation()
Pero sigo recibiendo este mensaje de error:
Mensaje de error del compilador: CS1502: la mejor coincidencia de método sobrecargado para ''Microsoft.WebPages.WebPageUltimateBase.Write (Microsoft.WebPages.Helpers.HelperResult)'' tiene algunos argumentos no válidos
¿Funciona esto para alguien más, o es otro enfoque para esto en ASP MVC 3?
En mi caso, no estaba usando EditorFor, pero TextBoxFor!
Asegúrate de usar:
<td>@Html.EditorFor(m => m.Email)</td>
En su lugar, puede usar lo siguiente en lugar de la línea de código esperada.
@(ViewContext.ClientValidationEnabled = true)
Probablemente un descuido en los métodos de extensión para htmlhelper.
En realidad, puede usar el método HtmlHelper haciendo lo siguiente
@{ Html.EnableClientValidation(); }
Oye, en ASP.NET MVC3, no hay necesidad de agregar Html.EnableClientValidation () en la página de vista, en su lugar, simplemente habilite la validación de cliente en el archivo webconfig como se muestra a continuación:
<appSettings>
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
esta etiqueta
@{ Html.EnableClientValidation(false); }
debe venir antes que
@using (Html.BeginForm())