Quiero tan bien como la validación del lado del cliente como la validación del lado del servidor. Me di cuenta de esto como el siguiente:Asp.Net MVC EnableClientValidation no funciona
Modelo: (El modelo tiene un DataModel (dbml), que contiene la clase de prueba)
namespace MyProject.TestProject
{
[MetadataType(typeof(TestMetaData))]
public partial class Test
{
}
public class TestMetaData
{
[Required(ErrorMessage="Please enter a name.")]
[StringLength(50)]
public string Name { get; set; }
}
}
controlador es nada especial.
La Vista:
<% Html.EnableClientValidation(); %>
<% using (Ajax.BeginForm("Index", "Test", FormMethod.Post,
new AjaxOptions {}, new { enctype = "multipart/form-data" }))
{%>
<%= Html.AntiForgeryToken()%>
<fieldset>
<legend>Widget Omschrijving</legend>
<div>
<%= Html.LabelFor(Model => Model.Name) %>
<%= Html.TextBoxFor(Model => Model.Name) %>
<%= Html.ValidationMessageFor(Model => Model.Name) %>
</div>
</fieldset>
<div>
<input type="submit" value="Save" />
</div>
<% } %>
Para que todo esto funcione añadí también referencias a los archivos JS:
<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
el tiempo que tiene que trabajar, pero no funciona al 100%: Lo hace valida sin actualización de página después de presionar el botón. También hace la "mitad" de Validación del lado del cliente. Solo cuando escribe texto en el cuadro de texto y luego retrocede el texto escrito. La validación del lado del cliente aparece. Pero cuando intento esto tocando entre controles no hay Validación del lado del cliente.
¿Echo de menos alguna referencia o algo? (Yo uso Asp.Net MVC 2 RTM)
[Aquí] (http://pastebin.com/685bHTHH) es cómo se incluye la validación en mi página. Sin embargo, la validación del cliente no funciona en absoluto, ¿ve algún problema? – Shimmy