2013-06-10 10 views
5

Viene visualizzato questo messaggio quando provo a modificare una proprietà nel primo progetto del database MVC 4. Sto usando la pagina di modifica predefinita MVC.Come posso controllare EntityValidationErrors quando la validazione fallisce?

"Convalida non riuscita per una o più entità. Vedere la proprietà" EntityValidationErrors "per ulteriori dettagli."

Dove posso verificare la convalida?

+2

'Vedere la proprietà" EntityValidationErrors "per ulteriori dettagli." '- cosa è successo quando l'hai fatto? –

+0

Se si utilizza ** Entity Framework ** è possibile dare un'occhiata alla mia risposta su [Soluzione per" Convalida fallita per uno o più entità. Vedi la proprietà 'EntityValidationErrors' per maggiori dettagli] (http://stackoverflow.com/questions/21486072/solution-for-validation-failed-for-one-or-more-entities-see-entityvalidatione/29031857# 29031857). Spero che questo aiuti ... –

risposta

5

andare alla vostra funzione di modifica, mettere una prova - blocco catch e intercettare l'eccezione - 'DbEntityValidationException'

se volete vedere gli errori, iterare anche se gli errori di validazione.

Ecco un semplice esempio di codice.

catch (DbEntityValidationException ex) 
{ 
    foreach (var errors in ex.EntityValidationErrors) 
    { 
     foreach (var validationError in errors.ValidationErrors) 
     { 
      // get the error message 
      string errorMessage = validationError.ErrorMessage; 
     } 
    } 
} 
2

Se si imposta un punto di interruzione nel controller, è possibile verificare quali valori presentano errori nei loro confronti guardando in ModelState. La raccolta ModelState.Values ​​contiene l'errore e la chiave è il campo.

Problemi correlati