none
Validacion, como armar un RequiredIf, que dependa de dos valores? RRS feed

  • Pregunta

  • Hola, tengo el siguiente  escenario

    necesito que un campo sea requerido, si se cumplen 2 cosas, primero que un checkbox este en true y segundo que un valor x en un dropdown este seleccionado.

    Necesitario implementar RequiredIf y RequiredIfNot para poder validar en el modelo.

    Alguna ayuda de como hacerlo?

    miércoles, 24 de octubre de 2012 23:04

Todas las respuestas

  • Buenas!

    Si NO te importa no tener validación en javascript (es decir que los errores se vean tan solo al enviar los datos al controlador), lo más sencillo es que tu clase implemente IValidatableObject.

    Hace tiempo escribí en desarrolloweb.com un artículo sobre como implementarlo: http://www.desarrolloweb.com/articulos/validaciones-cruzadas-asp-net-mvc.html

    Si quieres validación AJAX, eso mismo lo puedes conseguir con un atributo específico de DataAnnotations, pero obviamente el validador de jQuery deberás escribirlo tu :)

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis

    jueves, 25 de octubre de 2012 9:41
  • Añadiendo lo que dice eduard sobre como crear una clase autovalidable, si lo quieres hacer por javascript, una tecnica utilizada (aunque no es la mejor) es tener un controlador de validaciones, en ese controlador creas una accion que lo unico que tenga sea algo como

    public ActionResult ValidaModelo(MiModeloValidable model) {
      if(ModelState.IsValid) {
        return Content("ok");
      } else {
        return Content("ko");
      }
    }

    Al enviar el form, haces primero una llamada por ajax a este método para comprobar si es o no valido y si es válido, envias el formulario. No es la solución mas elegante pero te puede servir si no tienes tiempo o conocimientos para picarte un validador automático en javascript. 


    jueves, 25 de octubre de 2012 12:55