2012-02-21 2 views
10

Ho un div che contiene uno stile generico e un messaggio di errore se un utente immette la combinazione nome utente/password errata.Mostra un div solo se lo stato del modello presenta errori

Voglio solo visualizzare questo div se l'utente ha inserito le informazioni sbagliate. C'è qualcosa sul mio punto di vista ho potuto fare, qualcosa di simile a:

@if(ModelState.HasErrors) 
{ 
     <div>This login failed</div> 
} 

risposta

16
@if (!ViewData.ModelState.IsValid) 
{ 
     <div>This login failed</div> 
} 

Nota a margine, non è possibile utilizzare il built-in aiutanti di convalida?

Controller:

if (yourError) 
{ 
    ModelState.AddModelError("Error", "This login failed"); 
    return View(); 
} 

Vista:

@Html.ValidationMessage("Error") 
+0

Ahh, grazie, che ha aiutato. Sì, solitamente userei gli errori di convalida incorporati, ma per l'app che sto attualmente sviluppando avevo bisogno di seguire uno stile/regola impostato che è già stato impostato per l'errore di accesso. – CallumVass

+0

@BiffBaffBoff - nessun problema. Ma è solo che in questo modo, il tuo modo di dire "Se QUALSIASI errore si è verificato, mostra il messaggio" questo login fallito ". Che non è proprio vero – RPM1984

+0

Sì, capisco le conseguenze di questo, ma sono le istruzioni che mi è stato detto di seguire, quindi non posso davvero distoglierlo da esso. – CallumVass

Problemi correlati