クライアントの検証のみに依存しないことについて多くのことが書かれています。これはユーザーにとって便利なだけであり、サーバーの処理を減らします。これは、この質問の内容ではありません。
これがASP.NETMVCに固有なのか、すべてのJQuery検証に固有なのかはわかりませんが、ここから質問が出てきます。clientsidevalidationを有効にしてReqularExpressionAttributeを使用すると、HTMLは、基本的な例をスローするために、data-val-regex-pattern = "^ [0-9a-zA-Z]{3,12}$"のように出力します。
これはかなり安全ではなく、式がチェックしているものとチェックしていないものを明示的に提供しますか?ユーザーがそれが何であるかを簡単に読み取ることができる場合、検証スキームの穴を悪用する方がはるかに簡単なようです。また、サーバーが使用する式と同じであるため、サーバーが何をチェックするかを確認することもできます。
アップデート
私の例の式は、問題を説明するのにあまり適していません。これは、非常に厳密な形式を持つより複雑なデータ値に関するものであり、意図せずにいくつかの抜け穴を見落とします