工数が増える
通常、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