0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フロントとサーバー、バリデーションはどちらで制御すべき?(基礎)

Posted at

フロントとサーバー、どちらで制御すべき?

Webアプリ開発をしていると、必ず出てくるこの質問。

「バリデーションって、フロントでやる? それともサーバーでやる?」

実際のところ、どちらも必要です。
ただし、目的が違います。


目次

  1. フロントでやる理由(=ユーザー体験)
  2. サーバーでやる理由(=信頼性・安全性)
  3. まとめると
  4. 結論

フロントでやる理由(=ユーザー体験)

  • 入力ミスを即座に知らせたい
  • 無駄な通信を減らしたい
  • 「動いてる感」を出して使いやすくしたい

つまり、フロント側のチェックはUX(使いやすさ)のためです。
これは“親切設計”の範囲です。


サーバーでやる理由(=信頼性・安全性)

  • API直叩きなど、フロントを経由しない操作を防ぐ
  • 複数ウィンドウ/同時送信などでの破綻を防ぐ
  • DBの整合性を守る(業務ルール・上限チェックなど)

つまり、サーバー側のチェックは正しさを保証するためです。
こちらが“本番チェック”です。


まとめると

目的 どちらでやる? 意味合い
入力補助・操作感 フロント ユーザー体験を良くする
データ整合性・安全性 サーバー ルールを最終的に保証する

結論

フロントは補助、サーバーが本線。

バリデーションは「どちらか一方でやる」ものではなく、
“責任の重さ”が違うだけです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?