良い一日。間違った方法かもしれませんが、それが最速の方法でした。そう:
IP アドレス (NetworkMask) を (整数) (mssql テーブルに格納) として格納するモデルがあります。次に、モデルにマップされていないフィールド (IPv4NetworkMask) を追加した IP アドレスの入力と修正を実装する必要があります。
[NotMapped]
public string IPv4NetworkMask{
get{
return ExtIP.LongToIPv4(NetworkMask);
}
set{
NetworkMask=ExtIP.StringToIPv4(value);
}
}
そしてビューに:
<div class="editor-label">
@Html.LabelFor(model => model.NetworkMask)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.IPv4NetworkMask)
@Html.ValidationMessageFor(model => model.IPv4NetworkMask)
</div>
これですべてが正常に動作し、ユーザーが間違ったネットワーク アドレスを入力すると、StringToIPv4 内で例外が発生し、実行がコントローラーの外に出ます。
if (!ModelState.IsValid)
return View(NewModelObj);
しかし、クライアント側では、「値 'fdgdfgdf' は無効です」というメッセージが表示されました。このメッセージを別のものに変更するにはどうすればよいですか?