妥当性検査が失敗した場合、私はModelState
を変更する私のコントローラに妥当性検査機能を書くことを楽しんでいます。たとえば:ASP.NET MVCのModelState.AddModelErrorのキーパラメータのポイントは何ですか?
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;
}
しかしは、私がModelState.AddModelError
にその愚かな「キー」引数に置くために知っていることはありません。 (この例では、UI表示名に設定しました)
MVC開発者は、追加したときに何を考えましたか?
という名前のモデルのフィールドと結合されるキー引数は多分ドキュメントはそれがあるべきほど明確ではないが、全く愚かではありません。 :) – splattne