Estoy recién aprendiendo MVC y parece que no puedo entender cómo manejar la siguiente situación, tengo un formulario con una dirección de envío y una dirección de facturación. Todos los campos son obligatorios. También hay una casilla de verificación para "La dirección de facturación es la misma que la dirección de envío". Mi problema es que el estado del modelo nunca es válido a menos que se completen ambas direcciones. Podría manejar esto bastante fácilmente con algunos javascript que solo agregan los valores de la dirección de envío a los campos de dirección de facturación, pero si hay una forma mejor de manejar esto, me gustaría saberlo. Cualquier línea de guía sobre cómo esto se maneja comúnmente sería genial. ¡Gracias!¿Cómo manejo la validación condicional en MVC3?
Respuesta
Hay muchas maneras de manejar esto. Si no está utilizando la validación del lado del cliente, simplemente puede implementar IValidatableObject en el modelo y anular el método IsValid() y hacer algún código para verificar la validez del modelo.
Si está utilizando la validación del lado del cliente, entonces necesita un atributo personalizado, o use algo como fluent validation.
Usted puede lograr esto mediante la creación de un atributo de validación personalizada:
http://blogs.msdn.com/b/simonince/archive/2011/02/04/conditional-validation-in-asp-net-mvc-3.aspx
El quid de la cuestión es que se crea una nueva clase based off ValidationAttribute
y IClientValidatable
, sustituir e implementar si es necesario, añada su cliente- Validación lateral (que de todos modos necesita) y aplique el atributo a su campo opcional.
O, como la validación puede ser tan compleja como desee, aplíquela en un campo parcialmente compartido opcional y parcialmente compartido.
Ese tipo también tiene un alfa de una biblioteca que está escribiendo para hacer que la validación de MVC sea más flexible. No lo he usado yo mismo, pero you could give it a try.
- 1. ¿Cómo usar la validación de Struts2 para la validación condicional?
- 2. Validación de la regla condicional en JQuery
- 3. Validación Condicional en asp.net MVC4
- 4. MVC3 afeitar condicional envoltorio div
- 5. ASP.NET MVC3 Validación problema
- 6. jqGrid & MVC3 - Agregar la validación del modelo
- 7. condicional de validación usando Fluido Validación
- 8. Rails validación condicional de derivación
- 9. MVC3 La validación del modelo no funciona en un doble
- 10. MVC3 validación jQuery filtro MINLENGTH no trabajar
- 11. MVC3 validación no intrusiva: cómo eliminar/volver a adjuntar la validación de un grupo de elementos?
- 12. Validación condicional usando el complemento de validación de JQuery
- 13. jQuery.Validate Validación Condicional RadioButton y DropDownList
- 14. La validación jQuery no intrusiva ignora el mensaje de validación de datos en MVC3
- 15. IValidatableObject en MVC3 - validación del lado del cliente
- 16. Forzar una revalidación en mvc3 validación remota no intrusiva
- 17. Estilo condicional en JSF
- 18. Vistas MVC3: Manejo de modelos nulos con finesse
- 19. Mezcla de la validación no intrusiva de asp mvc3 con el complemento de validación de jquery
- 20. MVC3 Validación con Entity Framework Modelo/Base de datos First
- 21. ASP.NET MVC3 discreta localización de mensajes de validación jQuery
- 22. Validación de formulario de Django: ¿hacer condicional "requerido"?
- 23. Adición de demora al atributo de validación remota MVC3
- 24. Problema de validación con Windows Azure, EF y MVC3
- 25. ASP.NET MVC3 Concesionario de validación exitoso varias veces por solicitud
- 26. Integración de qTip con MVC3 y jQuery Validación (errorPlacement)
- 27. Validación del modelo/ASP.NET MVC 3 - Atributo requerido condicional
- 28. Textboxfor mvc3 formato de fecha y validación de fecha
- 29. asp.net mvc3 jquery ui diálogo y validación del cliente
- 30. MVC3 Validación del lado del cliente errática/inconsistente
¿Sus direcciones de facturación y envío son independientes? O un modelo empaquetado? – chemicalNova
Están en el mismo modelo. Ambas son propiedades del mismo tipo. – Mike