Uwielbiam pisać funkcje sprawdzania poprawności w moim kontrolerze, które modyfikują ModelState
, jeśli sprawdzanie poprawności nie powiedzie się. Na przykład:Jaki jest sens kluczowego parametru w ModelState.AddModelError w 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;
}
Ale, nigdy nie wiem, co umieścić na tej głupiej „klucz” argument ModelState.AddModelError
. (W tym przykładzie po prostu ustawiłem go na nazwę wyświetlaną interfejsu użytkownika).
Co myśleli deweloperzy MVC, kiedy go dodali?
Głównym argumentem nie jest głupi w ogóle, może dokumentacja nie jest jasne, jak powinno być. :) – splattne