Estoy empezando con ASP.NET MVC 2 y jugando con Validación.Cómo validar dos propiedades con ASP.NET MVC 2
Digamos que tengo 2 propiedades:
- Password1
- Contraseña2
y quiero requerir que ambos están llenos, y requieren que ambos son la misma antes de que el modelo es válida.
Tengo una clase simple llamada "NewUser".
¿Cómo implementaría eso? He leído sobre ValidationAttribute, y entiendo eso. Pero no veo cómo usaría eso para implementar una validación que compare dos o más propiedades contra eathother.
¡Gracias de antemano!
Problema con debajo solución:
Cuando esto se aplica a una aplicación, y la ModelBinder se ejecuta la validación del modelo, entonces no es un problema:
Si un Nivel de propiedad ValidationAttribute contiene un error, entonces Class-level ValidationAttribute es NOT validado. No he encontrado una solución a este problema hasta el momento.
Si tiene una solución a este problema, por favor comparta su experiencia. ¡Muchas gracias!
El único problema que veo con esto es, cuando dos propiedades del modelo (clase en este caso), no son iguales, no denota que las propiedades específicas contengan errores, como ocurre con [Obligatorio] y <% = Html.ValidationMessageFor (m => m.Password1)%> – CodeMonkey
@CodeMonkey, ya veo. Aunque no estoy seguro de si hay una solución elegante para hacerlo funcionar de otra manera, utilizando el enlace de modelo. Después de todo, esto es técnicamente una validación de nivel de clase. Si ** debes ** agregar los errores a las propiedades, entonces tal vez verifique los dos valores en el controlador después de que el enlace sea la solución más rápida (aunque no la más elegante). –
En la versión de MVC 2, el método de ayuda Html.ValidationSummary ahora puede mostrar los errores de solo modelo. – murki