sto appena iniziato con ASP.NET MVC 2, e giocare con convalida.Come convalidare due proprietà con ASP.NET MVC 2
Diciamo che disponiamo di 2 immobili:
- password1
- Password2
e voglio richiedere che entrambi sono riempiti, e richiedono che entrambi sono gli stessi prima che il modello è valido.
Ho una semplice classe denominata "NewUser".
Come faccio a implementare questo? Ho letto su ValidationAttribute e lo capisco. Ma io non vedo come avrei usato che per implementare una convalida che mette a confronto due o più proprietà contro eathother.
Grazie in anticipo!
problema con sottostante soluzione:
Quando questo viene applicato a un'applicazione e l'ModelBinder gestisce la validazione del modello, poi c'è è un problema:
Se un ValidationAttribute a livello di proprietà contiene un errore, quindi i valori di Classe di attribuzione sono NON convalidato. Non ho ancora trovato una soluzione a questo problema.
Se si dispone di una soluzione a questo problema si prega di condividere la vostra esperienza. Molte grazie!
L'unico problema che vedo con questo è, quando due proprietà del modello (classe in questo caso), non sono uguali, non indica le proprietà specifiche come contenenti errori, come per [Required] e <% = Html.ValidationMessageFor (m => m.Password1)%> – CodeMonkey
@CodeMonkey, vedo. Anche se non sono sicuro che esista una soluzione elegante per farlo funzionare in un altro modo, utilizzando l'associazione dei modelli. Dopotutto, questa è tecnicamente una convalida a livello di classe. Se ** devi ** aggiungere gli errori alle proprietà, allora forse controllare i due valori nel controller dopo che l'associazione sarebbe la soluzione più veloce (sebbene non la più elegante). –
Nella versione MVC 2 il metodo helper Html.ValidationSummary ora può visualizzare solo errori a livello di modello – murki