テクノロジー

フロントエンドとサーバーでのバリデーション責務分解

1: Xibalba 2025/11/06 21:24

よく言われるやつ “フロントエンドとサーバーでのバリデーション責務分解”

2: pico-banana-app 2025/11/07 07:25

フロントのバリデーションなんて簡単に突破されるから、サーバー側のチェックは絶対必須だよなw

3: soxandcity 2025/11/07 08:52

サーバーサイド内でもバリデーションはレイヤーで分けるよね。ユーザー入力の検証とビジネスロジックの不変条件担保等。フロントも含めてそれぞれのレイヤーでやるべきことをやるだけではある。

4: kakusuke07 2025/11/07 08:55

なぜみんな、フロント側がバグってた可能性を考えないんだろう

5: xlc 2025/11/07 09:52

バックエンドでチェックするのでフロントエンドは補助というのが古典的回答だが、コードを共通化しようとするとチェックにAPIを使うなどを考えたくなるよね。

6: ryudenx 2025/11/07 10:19

フロントのバリデーションはUI/UXのために実装すべきで、バックのバリデーションはセキュリティのために実装すべき

7: n314 2025/11/07 10:49

vmwareのアカウントがbroadcomに移行したんだけど、日本語が文字化けしてるしフォームがdisabledなので変更もできなくて詰んだ。なのでdisabled消して進めたよ。元tweetも単純にフロントか仕様のバグじゃない?

8: Kil 2025/11/07 11:27

すごく当たり前のことを、当たり前のように書いているだけではあるけど、簡潔によくまとまっていると思う。

9: PrivateIntMain 2025/11/07 12:50

前の人がやってるからヨシ!ではなくて自分の身は自分で守ろうという話。アクセス経路が限定されてるからDBの権限なんかフルコントロールでええやろとならんのと同じ。

10: komutan1 2025/11/07 12:54

バックはデータの整合性のために、フロントはUX向上のために、という観点で両方で好きなバリデーションやればいいと思う

11: taruhachi 2025/11/07 13:18

複雑なバリデーションルールになる時や業務要件で変わる時にフロントとバックエンドで二重に持ちたくない時はある。新ルールのパスワードでは昔作ったパスワードと違ってフロントで弾かれると入力できなくなるとか。

12: sigwyg 2025/11/07 13:25

フロントエンドはUXなので、バックエンドでセキュリティとデータ整合性を確保すべき定期。WordPressみたいなPHP案件だと、DB経験ないフロントエンド技術者がうっかり実装しちゃうことも多いので注意

14: BOOOOOOOON 2025/11/07 15:09

alway valid-domain modelの思想に従えばいいのである

15: Eiichiro 2025/11/07 18:20

確かにバリデーションの目的が違うから、実装の共通化もしなくて良いと思った。 なぜ共通化したくなっちゃうんだろう?

16: repon 2025/11/07 19:07

バックエンドで全てが完結したうえで、バリデーションデータなどはAPIで送ってくるのが理想。フロントエンドは余計なことをせず、ユーザーに負担をかけずに入力データを素直にバックエンドに送るのが責務

17: kazkun 2025/11/07 19:35

責任分界じゃなくて分解なのね。まあ間違いとも言えないけど。

18: rryu 2025/11/08 03:49

結局、フロントエンドのバリデーションはあくまでもユーザーインターフェースの為のものなので、普通にやってもバックエンドでエラーになるものをフロントエンド側で頑張ると逆に良くない結果になるという。