現在、サーバー側(PHP)のユーザー入力を検証中です。クライアント側はXMLHttpRequest呼び出しを送信し、無効なフィールドに赤い枠線を付けます。クライアントがリクエストをして間違ったことを記入するのに時間がかかりすぎると思うことを除いて、他のすべては素晴らしいです。私は、クライアントが要求を完了するのを待つ必要がないように、いくつかのJavaScriptのバリデーションも行うべきだと思う。重複を最小限に抑えながらクライアントとサーバー側の検証を使用するにはどうすればよいですか?
ただし、検証ルールとコードを複製したくありません。誰もが両方のバリデーションを実装しているので、少なくともバリデーションルールを複製する必要はありませんか?
私はYiiと普通の古いJavaScriptをjQueryで使用しています。
編集:クライアントのコンピュータに間違った時間があって、JavaScriptベースの日時チェックが不正になっていることも面倒です。つまり、サーバーからスクリプトに適切な日時を与える必要があります。
いいえ、まだではありません。しかし、HTML5スタイルの 'pattern = \ w +' regexesクライアントサイドを通知用に再利用し、サーバ側でフィルタリングを再利用する予定です。重複を減らす可能性があります(プログラマチックでないPHPフォームライブラリの場合)。 – mario