Sé lo que es el complemento jQuery Validation. Sé que la biblioteca jQuery Unobtrusive Validation fue creada por Microsoft y está incluida en el framework ASP.NET MVC. Pero no puedo encontrar una sola fuente en línea que explique de qué se trata. ¿Cuál es la diferencia entre la biblioteca jQuery Validation estándar y la versión "discreta"?¿Qué es jQuery discreta validación?
Respuesta
Brad Wilson tiene un par de excelentes artículos en unobtrusive validation y unobtrusive ajax.
También se muestra muy bien en este Pluralsight video en la sección sobre "AJAX y JavaScript".
Básicamente, se trata simplemente de validación de Javascript que no contamina su código fuente con su propio código de validación . Esto se hace haciendo uso de los atributos data-
en HTML.
¿Puede decirnos las mejoras realizadas en mvc3 para validaciones discretas? – wwcdwdcw
El enlace al video está roto. –
Gracias @MishaMoroshko por señalar eso. No pude encontrar ninguna alternativa en Pluralsight por ahora, así que eliminé el enlace. Editaré la publicación nuevamente tan pronto como tenga un sustituto. – bertl
Con la forma discreta:
- Usted no tiene que llamar al método validate().
- Se especifica los requisitos que utilizan atributos de datos (data-val, datos-val-requerido, etc.)
Jquery Validar Ejemplo:
<input type="text" name="email" class="required">
<script>
$(function() {
$("form").validate();
});
</script>
Jquery Validar discreto Ejemplo:
<input type="text" name="email" data-val="true"
data-val-required="This field is required.">
<div class="validation-summary-valid" data-valmsg-summary="true">
<ul><li style="display:none"></li></ul>
</div>
Gracias, estaba intentando Ctrl-F para encontrar la llamada valdiate() en algún código en el que tuve que trabajar. Me preguntaba por qué no pude encontrarlo – bio595
muy pegadizo, gracias –
jQuery Validation Unobtrusive Native es una colección de extensiones de ayuda ASP.Net MVC HTML. Estos hacen uso de la compatibilidad nativa de jQuery Validation para la validación impulsada por los atributos de datos HTML 5. Microsoft envió jquery.validate.unobtrusive.js de vuelta con MVC 3. Proporcionó una forma de aplicar validaciones del modelo de datos al lado del cliente utilizando una combinación de validación jQuery y atributos de datos HTML 5 (esa es la parte "discreta").
Para una aclaración, aquí hay un ejemplo más detallado que demuestra Validación de formulario usando jQuery Validación discreta.
Ambos usan el siguiente JavaScript con jQuery:
$("#commentForm").validate({
submitHandler: function(form) {
// some other code
// maybe disabling submit button
// then:
alert("This is a valid form!");
// form.submit();
}
});
Las principales diferencias entre los dos plugins son los atributos que se utilizan para cada enfoque.
jQuery Validación
Simplemente utilice los siguientes atributos:
- conjunto necesario si se requiere
- tipo fijado para el formato correcto (e-mail, etc.)
- establecer otros atributos tales como tamaño (longitud mínima, etc.)
Aquí está la forma ...
<form id="commentForm">
<label for="form-name">Name (required, at least 2 characters)</label>
<input id="form-name" type="text" name="form-name" class="form-control" minlength="2" required>
<input type="submit" value="Submit">
</form>
jQuery Validación Unobtrusive
Se necesitan los siguientes atributos de datos:
- datos-msg-requiere = "Esto es necesario" requerido-data-regla
- = "verdadero/falso"
Aquí es la forma ...
<form id="commentForm">
<label for="form-x-name">Name (required, at least 2 characters)</label>
<input id="form-x-name" type="text" name="name" minlength="2" class="form-control" data-msg-required="Name is required." data-rule-required="true">
<input type="submit" value="Submit">
</form>
Sobre la base de cualquiera de estos ejemplos, si se han llenado los campos del formulario que se requieren y cumplen con los criterios de atributo adicionales, luego aparecerá un mensaje que notifica que todos los campos de formulario están validados. De lo contrario, habrá texto cerca de los campos del formulario ofensivo que indica el error.
Referencias: - jQuery Validación: https://jqueryvalidation.org/documentation/
- 1. jQuery Validación móvil y discreta
- 2. ASP.NET MVC3 discreta localización de mensajes de validación jQuery
- 3. MVC 3 discreta validación - condicionalmente desactivar/activar la validación
- 4. ¿Cómo revalidar manualmente/activar la validación utilizando la validación jQuery discreta?
- 5. Ganchos de evento para validación remota discreta de MVC
- 6. ¿Cómo puedo personalizar la validación discreta en ASP.NET MVC 3 para que coincida con mi estilo?
- 7. Verificar jquery la validación no intrusiva es verdadera por jQuery
- 8. Transformada de Fourier discreta
- 9. Usando una validación discreta en ASP.NET MVC 3, ¿cómo puedo tomar medidas cuando un formulario no es válido?
- 10. derivada discreta en SQL
- 11. JQuery: ¿Por qué la función Discreta de JavaScript/Documento listo en lugar del evento OnClick?
- 12. Desactivar Habilitar la validación discreta para el botón de envío específico
- 13. Validación jQuery personalizada .addMethod
- 14. Jquery-Mobile: validación
- 15. validación jQuery validación personalizada sin agregar validación de espacio
- 16. jQuery Validación Callback Function
- 17. jQuery globalizar problemas con la validación parseFloat
- 18. Activación jQuery Validación manualmente?
- 19. jQuery validación error posición
- 20. jQuery validación & ignorar campo
- 21. jQuery validación onblur
- 22. jQuery Validación remota
- 23. ¿Cómo reiniciar la validación no intrusiva de jQuery?
- 24. ASP.NET MVC 3: Genere una validación discreta cuando BeginForm está en el diseño
- 25. ¿De qué sirve JSLint si jQuery falla la validación
- 26. Validación de formularios de jQuery Mobile: ¿qué complemento elegir?
- 27. Validación de formulario jQuery: ¿por qué valida dos veces?
- 28. JQuery - Validación de formulario - Onblur
- 29. Errores de agrupación en jQuery Unobtrusive Validación
- 30. ¿Es bueno usar el complemento de validación de JQuery?
validación unobstrusive se añaden los datos val--... atributos en el código HTML, para que pueda leer la validación incluso en el código HTML. –
Creo que la respuesta a su pregunta se explica aquí: http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-validation.html Explica la diferencia entre lo que sucede cuando Unobtrusive está activado o desactivado. – Tommy