Mi piace scrivere funzioni di convalida nel mio controller che modificano lo ModelState
se la convalida non riesce. Per esempio:Qual è il punto del parametro chiave in ModelState.AddModelError in ASP.NET MVC?
private bool ValidateMoney(string raw, string name, decimal min, decimal max) {
try {
var dec = Convert.ToDecimal(raw);
if (dec < min) {
throw new ArgumentOutOfRangeException(name + " must be >= " + min);
}
else if (dec > max) {
throw new ArgumentOutOfRangeException(name + " must be <= " + max);
}
}
catch (Exception ex) {
ModelState.AddModelError(name, ex.GetUserMessage());
}
return ModelState.IsValid;
}
Ma, non so mai che cosa mettere per quella stupida argomento "chiave" per ModelState.AddModelError
. (Nell'esempio, l'ho appena impostato sul mio nome di visualizzazione dell'interfaccia utente.)
Che cosa stavano pensando gli sviluppatori MVC quando l'hanno aggiunto?
L'argomento chiave non è stupido affatto, forse la documentazione non è così chiara come dovrebbe essere. :) – splattne