Estoy tratando de aprovechar el elemento HTML.ValidationMessage() para escribir una validación del cliente tan personalizada con jQuery. ¿Esto es posible? Mi validación del lado del servidor se muestra usando HTML.ValidationMessage(), y me pregunto cómo accedería a ese elemento para mostrar un mensaje personalizado usando jQuery antes de enviar un formulario.Validación de cliente MVC de ASP.NET con jQuery utilizando Html.ValidationMessage?
Sé que hay algunos complementos para hacer algunas de estas cosas, pero realmente me gustaría tener un control completo con mi validación.
Aquí hay un poco del código Javascript que tengo actualmente. Básicamente agrega la "clase" de validación al elemento de entrada en el envío, sin embargo, no está seguro de cómo acceder al Html.ValidationMessage para generar algo así como "Se requiere correo electrónico".
<script type="text/javascript">
$(document).ready(function() {
$("input[type=submit]").click(function() {
var valid = true;
// email blank
if ($("input[name='email']").val().length < 1) {
$("input[name='email']").addClass("input-validation-error");
valid = false;
}
return valid;
})
});
</script>
y el código de la Vista:
<p>
<label for="email">
Email:</label>
<%= Html.TextBox("email") %>
<%= Html.ValidationMessage("email") %>
</p>
actualización desde el sitio xVal: "Importante: se recomienda usar xVal solo con ASP.NET MVC 1.0 Si está utilizando ASP.NET MVC 2.0 o posterior, el marco tiene soporte integrado para generar la lógica de validación del lado del cliente directamente de los metadatos del modelo. Todavía puede usar xVal si lo desea, pero no se desarrollará ni apoyará activamente ". –
Derecha; en MVC 2.0+ no necesita esto. ¡Mi respuesta es vieja y estaba basada en MVC 1! –
sí, no es una crítica, simplemente tratando de ayudar a cualquiera que termine aquí sin saber sobre el cambio –