NDW

アプリ開発やトラブルシューティング等のノウハウ、キャンプや登山の紹介や体験談など。

1. システムエンジニアリング ASP.NET Core 実装技術

ASP.NET Core: Remote属性の過剰なHTTP要求を抑制

投稿日:2020年7月12日 更新日:

Remote属性は入力欄に対する文字入力やフォーカスが外れたタイミングで、サーバ側検証ロジックを実行できます。例えば、登録対象となるユーザIDが既に実在しないかの検証等、サーバ側でしか検証が難しい場合に有効です。

しかしながら、ユーザが文字を入力する度にサーバ側検証が実行(HTTP要求が発行)されるため、場合によってはネットワークやサーバの過剰な負荷になる可能性があります。
サーバ検証の呼び出しはキーアップイベントに紐づいているため、次のようにキーアップイベントを上書きすることで無効にできます。
(入力欄からフォーカスが外れた場合のみサーバ検証が実行されるようになる。)

...
$(function () {
    $("[data-val-remote]").keyup(function () { return false });
});
<script src="~/lib/jquery-validation/dist/jquery.validate.min.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
<script src="~/js/site-validation.js"></script>

なお、フォームのサブミット時にRequired属性等のサーバ側の検証ロジックは自動的に実行されますが、Remote属性で指定した検証ロジックは実行されません。そのためサーバ側処理(コントローラ等)で明示的にRemote属性に対応するサーバ側検証ロジックを実行する必要があります。



(adsbygoogle = window.adsbygoogle || []).push({});


(adsbygoogle = window.adsbygoogle || []).push({});

-1. システムエンジニアリング, ASP.NET Core, 実装技術

関連記事

localhost(pfx)をPEM形式の証明書と鍵に変換

開発環境にて、Visual Studioのインストール時に追加されるlocalhostサーバ証明書(IIS Express Development Certificate)を、Apache httpd …

Red Hat Developer ProgramでのRHELの使用

概要 CentOSのサポート終了に伴い、Red Hatが提供する開発者プログラム(Red Hat Developer Program)に参加すれば、開発者でも本番でRHELを使用できるようになりました …

デジタル証明書のエンコードと拡張子の違い

デジタル証明書の種類と拡張子の理解が曖昧だったので整理してみました。 証明書や鍵そのものは基本的にはバイナリデータです。 これらのデータは、X.509やPKCSで仕様化されています。 X.509: 公 …

OfficeアプリのコントロールはPowerShellかVBAか?

Windowsサーバの監視のお仕事での話です。 月次で各サーバのパフォーマンスモニタのログファイル(.blg)が送られてきます。このデータ群から、各種のグラフや表を作成して、PowerPointでそれ …

Javaでのパスワード付きzipファイルの圧縮/解凍方法(ZipCrypto/AES)

先日、JavaでのZIP暗号化の考察という記事を書きましたが、zip4jのメンテナンスが再開されており、バージョン2系が公開されていましたので、これを使って通常のzip圧縮/解凍、パスワード付きzip …