フロントエンド側のバリデーションを実装しないという選択肢について

Share this post

工数が増える


通常、RailsやLaravelなどのフレームワークをAPIとして使いreactやvueなどでUIの表示をする場合は、バックエンド側とフロント側で合計2回バリデーションのコードを書かなければならない。人によってはこれを無駄と感じる人はいるでしょう。

まず、バックエンド側のバリデーションにはセキュリティやデータベースに登録するデータの抜け道を無くす意味があります。
しかし、フロント側のバリデーションはセキュリティとしての意味は無く、基本的にUX向上としての意味で実装します。

実装で楽をしたい場合


バックエンドがnode.jsでフロントがjavascirptなら一つのバリデーションのコードを使い回せるので効率的に作れると思います。

最速で実装するには


そうすると、納期まで時間がない場合や、効率的に開発をしたい場合などはバックエンド側のバリデーション結果をGetアクションでフロント側に表示するのが一番早いと思います。
RailsにしろLaravelにしろ多くのバックエンドのフレームワークではエラー文の表示は可能なので、それをGetしてreactやvueなどのフロント側で使い回せば、開発効率を劇的に向上させることが出来ます。

出来ることならしたほうがいい


もちろん、時間が多くあり、多くのユーザに使ってもらいたいアプリケーションを作るならフロント側でのバリデーション実装はUX向上としての意味は十分に意味があると思いますし、やることを推奨します。

ちなみにReactを使ったフロント側でバリデーションを作るならreact-hooks-formがデファクトスタンダートになってきていますし、おすすめです。

Share this post