ModelState
検証が失敗した場合にそれを変更する検証チェックをコントローラーに追加しました。
例えば:
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;
}
key
しかし、のパラメータに渡す値がわかりませんModelState.AddModelError
。(例では、UI 表示名に設定するだけです。)
パラメータの目的は何ですか? また、どのように使用すればよいですか?
ベストアンサー1
キーは、表示する正確なエラー メッセージを認識するために ValidationMessage HTML ヘルパーによって使用されます。
例:
<%=Html.TextBox("Name") %> <br />
<%=Html.ValidationMessage("Name") %>
ValidationMessage ヘルパーは、ModelState 辞書内のキー "Name" を持つメッセージを表示します。