MVC: dov'è il posto giusto per impostare i messaggi di errore?

3

Ho un'applicazione ASP.NET MVC in cui in tutti i miei modelli è presente una proprietà errori utilizzata per archiviare gli errori di non convalida che sono visualizzati nelle mie viste. Dov'è il posto giusto per compilare l'elenco degli errori in base a MVC? All'interno del modello o all'interno del controller?

Prima opzione

public class MyModel
{
 public DataOperationResult DoSomething()
  {
   //do something with data
   if (result != DataOperation.Success)
   {
     Errors.Add("Something went wrong");
   }
   return result;       
 }
}

Seconda opzione

 public class MyController
  {
   public ActionResult DoSomething()
    {
     MyModel model = new myModel();
     DataOperationResult result = model.DoSomething();
     if (result != DataOperation.Success)
     {
      model.Errors.Add("Something went wrong");
     }
  }
}
    
posta Georgi Georgiev 22.09.2014 - 12:58
fonte

1 risposta

1

Non penso che memorizzare errori nei modelli sia una buona idea. I modelli sono responsabili della memorizzazione dei dati, non dei dati e degli errori. Hai violato il principio della responsabilità unica. È necessario memorizzare gli errori in ViewModels e popolarli nel controller.

    
risposta data 24.09.2014 - 12:48
fonte

Leggi altre domande sui tag