Estoy usando MVC3 con Razor.
he incluido lo siguiente en mi _Layout.cshtml:MVC3 Validación del lado del cliente no funciona
<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcValidation.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
Mi forma se parece a:
@{
ViewBag.Title = "Register";
Html.EnableClientValidation();
}
@using (Html.BeginForm("Register"))
{
<fieldset>
<p>
@Html.LabelFor(o => o.Email)
@Html.TextBoxFor(o => o.Email)
@Html.ValidationMessageFor(o => o.Email)
</p>
...
</fieldset>
}
Mi modelo de vista tiene DataAnnotations (e implementa IValidatableObject), y se valida durante el controlador acción. Sin embargo, parece que no puedo usar la validación de JS en el cliente sin publicar el formulario.
¿Qué me estoy perdiendo?
Lo hice. Todavía no pasó nada. ¿Debe ocurrir la validación en cada golpe de teclado? O cuando el cuadro de texto pierde el foco? ¿Deberían los campos vacíos con los atributos requeridos ser inválidos cuando cargue el formulario? – TDaver
@TDaver, la validación del cliente por defecto ocurre cuando la entrada pierde el foco o cuando intenta enviar el formulario. –