Si tratta di un'azione di controllo che io chiamo con il metodo ajax postale:Come aggiornare ModelState?
[HttpPost]
public ActionResult Add(Comment comment)
{
if (User.Identity.IsAuthenticated)
{
comment.Username = User.Identity.Name;
comment.Email = Membership.GetUser().Email;
}
if (ModelState.IsValid)
{
this.db.Add(comment);
return PartialView("Comment", comment);
}
else
{
//...
}
}
Se l'utente è connesso, presentare il modulo non ha Nome Utente e-mail i campi, in modo che non viene passato dalla chiamata AJAX . Quando l'azione viene chiamata ModelStat.IsValid restituisce false, poiché queste due proprietà sono obbligatorie. Dopo aver impostato valori validi sulle proprietà, come posso attivare la convalida del modello per aggiornare ModelState?
Temevo che sarebbe arrivato a quello. Qualche altra soluzione? – frennky
Non aver paura, quelle sono le soluzioni più pulite, le "più MVC". Applicandoli imparerai un po 'di più sul framework con cui stai lavorando. – m0sa
Sì, lo so. Stavo solo saltellando per renderlo semplice. Ho implementato il modello personalizzato, in questo modo ho mantenuto la convalida. Grazie per avermi indicato nella giusta direzione. – frennky