>なるほど、検索画面でチェックするという概念自体がなかったので
>とても勉強になりました。
「検索画面だから」ではなく、ユーザの入力が存在するものは全てチェックすべきです。
チェックロジックなんて簡単に出来るものを疎かにして不具合を出すより、
システム全体のポリシーとしてもきちんとしたほうがいいことは間違いありません。
また、検索時に使うキーワードを完全一致で検索するんでしょうか?
何らかのコードならまだしも、苗字や住所などを完全一致で検索させるのはシステム的に
どうなんでしょう。ユーザから「使いにくい」という意見しか出ないように思えますが…
通常そういったものは前方一致または部分一致で検索を行うことがほとんどです。
完全一致での検索の場合、基本的に検索結果の該当件数は0または1件になるかと思いますが、
検索するためのシステムとしてそれが正しい姿ですか?
正直、他人の住所を正確に入力しないと検索結果に出ませんよ、なんて言われたら
二度とそのシステム使いません。
エラーメッセージについては「XX文字以内で入力して下さい」とでもしておけばいいかと。
検索画面で文字数制限をかけるのは正直ナンセンスかと思いますが、
ユーザにプログラマ寄りなエラーメッセージを表示するのはおかしいです
(クリティカルエラーなどは、ユーザに見せるのは分かりやすいメッセージで、
プログラマ寄りなエラーメッセージはエラーログなどに出力すべきです)。
全角と半角の違いが分かる人がエンドユーザなら、「全角XX文字または半角XX文字」とか
出してもいいと思います。
個人的な感想ですが、ちゃんと設計してからシステム化していないような印象を受けます。
自分がこうあるべきと思い込んで作るシステムは間違いなく失敗作になります。
仕事でやられるのであれば、きちんと仕様書や設計書を書いて、上長なりエンドユーザなりに
レビュー&フィードバックを受けてからシステムを作るべきです。

今回のような実践的な経験がエンジニアのキャリアに繋がると思います。是非サービスを成功させて下さい!